Hi Douglas,
>The main aspect of the question is how to instruct SwiftForth to use =
the
>newer versions.
>Ideally, also to have a mechanism by which old or new could be selected
>using some sort of directive at the start of a programme.
To enable theme, a manifest file have to be embedded inside the .exe
application. (see previous post).
It is possible to disable theme control by control, using the next trick
(again, in C++).
Charles
// Disable combobox XP Theme
typedef WINAPI SetWindowTheme_FUNC(HWND hwnd, LPCWSTR pszSubAppName, =
LPCWSTR
pszSubIdList);
void DisableCtrlTheme(HWND hwnd)
{
SetWindowTheme_FUNC *pSetWindowTheme;
bool notxp=3Dfalse;
if (notxp) return;
HINSTANCE hTmLib =3D LoadLibrary (TEXT("UxTheme.DLL"));
if (!hTmLib)
{
notxp=3Dtrue; // have old ComCtl
return;
}
// Initlialize the function pointer.
pSetWindowTheme =3D GetProcAddress (hTmLib, "SetWindowTheme");
=20
if (!pSetWindowTheme)
{
notxp=3Dtrue;
}
else
{
(*pSetWindowTheme)(hwnd, L" ", L" ");
}
FreeLibrary(hTmLib);
}
// Usage example, disable theme for the listbox ID=3D IDC_CB_LIST
BOOL OnInitDialog(HWND hDlg)
{
DisableTheme(GetDlgItem(IDC_CB_LIST));
....
}
-----Message d'origine-----
De=A0: sftalk-bounce_at_forth.com [mailto:sftalk-bounce_at_forth.com] De la =
part de
Douglas Reid
Envoy=E9=A0: lundi 3 mai 2010 07:23
=C0=A0: sftalk_at_forth.com
Objet=A0: [sftalk] Re: COMCTL32 controls versions
Charles,
One aspect of my posting may be somewhat confusing.
It is not strictly accurate to be talking about "version 5" and "version =
6"
controls as if they originate from the corresponding versions of
COMCTL32.DLL
Rather, the "version 5" (if we can call them that) originate instead =
from
USER32.DLL
The original version of controls (button, edit, static, listbox, =
combobox
and scrollbar) are in USER32.DLL
It seems that SwiftForth are using these.
From v6.00 of COMCTL32.DLL updated/ enhanced/ new "XP style" versions of
these controls with the same names were provided in COMCTL32.DLL =
intended to
supercede those provided in USER32.DLL
The main aspect of the question is how to instruct SwiftForth to use the
newer versions.
Ideally, also to have a mechanism by which old or new could be selected
using some sort of directive at the start of a programme.
Best Regards,
Douglas
> Hi Douglas,
> I don't think it is possible to select between version 5 or 6.
> A standard Windows installation have only one COMCTL32.DLL dll.
> IMHO You have just to know the version you have and play with it.
> With best regards,
> Charles
----------------------------------------------------------------------
sftalk_at_forth.com The SwiftForth programming discussion email list
To unsubscribe, send subject "unsubscribe" to sftalk-request_at_forth.com
For list command help, send subject "help" to sftalk-request_at_forth.com
Message archives are located at http://www.forth.com/archive/sftalk
----------------------------------------------------------------------
This list is a forum for SwiftForth users. For product support and
bug reports, please send email to support_at_forth.com
----------------------------------------------------------------------
----------------------------------------------------------------------
sftalk_at_forth.com The SwiftForth programming discussion email list
To unsubscribe, send subject "unsubscribe" to sftalk-request_at_forth.com
For list command help, send subject "help" to sftalk-request_at_forth.com
Message archives are located at http://www.forth.com/archive/sftalk
----------------------------------------------------------------------
This list is a forum for SwiftForth users. For product support and
bug reports, please send email to support_at_forth.com
----------------------------------------------------------------------
Received on Sun May 02 2010 - 23:07:55 PDT
Subscribe to our e-mail list service. It's free for all SwiftForth and SwiftX users!
This archive was generated 06-Feb-2012. Archive updated nightly.