Themes und Tab-Controls
-
Hi!
Ich habe ein TabControl (benutze keine Resourcen!) und möchte diesem ein Theme zuweisen, also das Standard-XP-Theme für TabControls, welches man ja aus "Bildschirmeigenschaften" usw. kennt.
Dafür habe ich folgende Funktion hier im Board gefunden:
#include <uxtheme.h> typedef HRESULT (WINAPI * ENABLETHEMEDIALOGTEXTURE)(HWND, DWORD); HRESULT WINAPI MyEnableThemeDialogTexture(HWND hWnd, DWORD dwFlags) { ENABLETHEMEDIALOGTEXTURE pfnETDT; HINSTANCE hDll; HRESULT hr; hr = HRESULT_FROM_WIN32(ERROR_CALL_NOT_IMPLEMENTED); if(NULL != (hDll = LoadLibrary(TEXT("uxtheme.dll")))) { if(NULL != (pfnETDT = (ENABLETHEMEDIALOGTEXTURE)GetProcAddress(hDll, "EnableThemeDialogTexture"))) hr = pfnETDT(hWnd, dwFlags); FreeLibrary(hDll); } return(hr); }Ich führe diesen Code auf dem Hauptfenster aus (mit den Flags ETDT_ENABLE | ETDT_USETABTEXTURE), doch da hat es irgendwie keinen Effekt. Führe ich es auf dem Handle des TabControls aus, hat dies auch keinen Effekt, obwohl ich beide mit ShowWindow und UpdateWindow aktuallisiere nach dem Vorgehen. Theme wird unterstützt und die Methode gibt S_OK wieder.

Jemand eine Idee woran es liegen kann?
-
siehe in der fortgeschrittenen Gruppe win32
news://nntp.aioe.org/comp.os.ms-windows.programmer.win32
-
da gibt es kein thema zu.
-
Hi,
dann solltest du das Manifest einbinden. Entweder als Resource - oder eine Manifestdatei in der Nachbarschaft deiner Exe mitführen.
Ist schlampiges Design, aber dafür ist MS ja bekannt.