So, ich hab es dann mal "komplett" in mein Programm eingebaut. Als Referenz noch die Funktion zum dynamischen reinverbasteln, damits unter Windows NT/2000 auch funktionudelt.
Delphi-Quellcode:
unit Utilities;
interface
uses
Windows;
type
TEnableThemeDialogTexture =
function(wnd: HWND; dwFlags: dword):
HRESULT;
stdcall;
function LoadThemeDLL(wnd: hWnd; dwFlags: DWord): Boolean;
implementation
function LoadThemeDLL(wnd: hWnd; dwFlags: DWord): Boolean;
var
EnableThemeDlgText: TEnableThemeDialogTexture;
hThemeDll: THandle;
DllResult: HRESULT;
begin
Result := False;
hThemeDll := LoadLibrary('
uxtheme.dll');
If hThemeDll <> 0
then
begin
@EnableThemeDlgText := GetProcAddress(hThemeDll, '
EnableThemeDialogTexture');
if @EnableThemeDlgText <>
nil then
begin
DllResult := EnableThemeDlgText(wnd, dwFlags);
Result := DllResult = S_OK;
end;
FreeLibrary(hThemeDll);
end;
end;
end.
Der Aufruf kann dann im Code (siehe Beitrag von MathiasSimmack) folgendermaßen erfolgen:
Delphi-Quellcode:
For I := 0 to Length(hTabDlgs) -1 do
begin
hTabDlgs[I] := CreateDialog(hInstance,
MAKEINTRESOURCE(200 + I), hDlg, @tabDlgFunc);
LoadThemeDLL(hTabDlgs[i], 6);
end;
Ja und dann natürlich noch das allerallerwichtigste.
Vielen herzlichen Dank!!!