Bonjour,
alors je suis une vraie quiche avec windows et je voudrais afficher du texte de différentes couleurs dans un controle de type edit. La fonction settextcolor provoque un plantage (la petite fenetre envoyer/ne pas envoyer le rapport d erreur).
Avec au debut du main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 case WM_CREATE: { typedef int(WINAPI*DLL_FUNCTION_TESTFUNCTION)(); DLL_FUNCTION_TESTFUNCTION INITCONTROLE; INITCONTROLE=(DLL_FUNCTION_TESTFUNCTION)GetProcAddress(hdll,"InitCommonControls"); INITCONTROLE();//dans le code complet, je creer des onglets typedef int(WINAPI*DLL_FUNCTION_TESTFUNCTION2)(HDC,COLORREF); DLL_FUNCTION_TESTFUNCTION2 CHANGECOULEUR; CHANGECOULEUR=(DLL_FUNCTION_TESTFUNCTION2)GetProcAddress(hdll,"SetTextColor"); hEdit =CreateWindowEx(WS_EX_CLIENTEDGE ,"edit","\r\nTest ",WS_CHILD|WS_VISIBLE,15,40,290,163,hwnd,NULL,hinst,NULL); HDC hdc=GetDC(hstatic); SetFocus(hstatic);//ne change rien CHANGECOULEUR(hdc,RGB(0,0xFF,255)); return 0;
et a la fin
Code : Sélectionner tout - Visualiser dans une fenêtre à part hdll=LoadLibrary("comctl32.dll");
J ai essayé en mettant le code dans un case WM_PAINT, ca ne change rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part FreeLibrary(hdll);
Si quelqu un a une idée soit pour résoudre le plantage, soit pour changer la couleur du texte par un autre moyen, je suis preneuse.
PS: j'utilise bloc note et je compile avec l invite de commande (g++ fichier.cpp), je sais c est un peu barbare.
Partager