Bon c'est encore un projet en cours de developpement, ce sera une librairie permettant d'appliquer des themes perso sur des dialogs ou des fenetres en quelques commandes, la gestion des controles elle ne change pas, la librairie ne fera que changer les affichages.
Il n'est pas fini mais montre plusieurs techniques ( Ownerdraw, Customdraw , Subclassing , ....)
En fait j'ai deja fini ce projet mais sous forme de dll pour une application et j'avais obtenu le resultat suivant
http://nsrn1.free.fr/Images/custom.jpeg et la le je recommence tout.
Ma petite fierté sont les bouttons yingyang, 2 bouttons entrelacés. Mais les graphismes sont pourris a cause des convertions DIB/pixel que je ne gere pas.
Elle gere au moins les formats d'images BMP JPG GIF.
Source / Exemple :
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
HWND hDlg;
MSG msg;
//pour les controles avancés
InitCommonControls();
//chargement du theme
loadTheme("theme1\\theme.xml");
//creation du dialog
hDlg=CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),HWND_DESKTOP,(DLGPROC)MainProc);
ShowWindow(hDlg,SW_SHOW);
while(GetMessage(&msg,0,0,0)==TRUE)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
//liberation de la memoire
UnloadCustomDll();
return 0;
}
LRESULT CALLBACK MainProc(HWND Dlg,UINT message,WPARAM wParam,LPARAM lParam)
{
int Select;
//traitement
LRESULT res = traitement(Dlg,message,wParam,lParam);
if (res) return res;
switch(message)
{
case WM_INITDIALOG:{
//le skin
Customwin(Dlg);
MakeScrooll(hlb);
return true;
}
break;
}
return false;
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.