2009-10-15 6 views
0

je tente de créer une fenêtre avec une barre d'état:Win32 barre d'état avec un style XP


#include <commctrl.h> 
InitCommonControls(); 
hStatus = CreateWindowEx(
    0, STATUSCLASSNAME, NULL, WS_CHILD | WS_VISIBLE | SBARS_SIZEGRIP, 
    0, 0, 0, 0, hWnd, (HMENU)IDC_MAIN_STATUS, GetModuleHandle(NULL), NULL); 
int statwidths[] = {100, -1}; 
SendMessage(hStatus, SB_SETPARTS, sizeof(statwidths)/sizeof(int), (LPARAM)statwidths); 

Tout est ok, sauf qu'il est dessiné dans un style classique, plutôt que dans le style XP.

S'il vous plaît, comment faire apparaître dans le style XP? Dois-je définir #define _WIN32_IE 0x0500 (que j'ai déjà)?

J'utilise MinGW, si des effets quoi que ce soit ...

Répondre

5

Vous devez ajouter une application manifeste pour lui dire d'utiliser les contrôles communs V6 au lieu de la V5.

Éditer: Il ya un MSDN Article sur la façon de le faire, y compris une section sur la façon de créer et d'utiliser un manifeste. En fait, il y a aussi quelques articles MSDN, mais je pense que celui-ci couvre suffisamment le sujet ...

+0

a besoin de plus d'explications sur ce qui est manifeste, mais de toute façon +1. –

+0

Comment? Qu'est-ce qu'un manifeste? –

Questions connexes