Regions sur editbox

Signaler
Messages postés
7
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
15 septembre 2006
-
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013
-
Bonjour

Je voudrai créer des editbox arrondis en C (API win32, pas de MFC),  le problème est que je n'arrive pas à placer mon code au bon
endroit apparemment, voici le code en question :

region = CreateRoundRectRgn(0,0,180,15,10,10);
SetWindowRgn(GetDlgItem(Dlg,IDC_EDIT1),region,true);
DeleteObject(region);

J'ai mis ce bout de code dans le traitement du message WM_DRAWITEM (car j'ai des boutons ownerdraw aussi), au démarrarge de mon appli tout marche à la perfection,
mais dès que j'écris quelque chose dans l'editbox, le redessinement ne se fait pas et c'est degueulasse. J'ai essayé de mettre le code dans WM_PAINT, c'est pire!

merci pour votre aide

3 réponses

Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013

Je viens juste de mettre une source faisant presque ca (pas de region par contre), va voir si cela t'aide

http://www.cppfrance.com/codes/CUSTOMISATION-CONTROLES-AUTOMATIQUE-OU-APPLICATION-THEME-PERSO-WIN_39508.aspx

En fait en resumé j'ai aussi eu des probleme avec WM_PAINT (celui de l'edit) et donc je suis passé par WM_CTLCOLOREDIT qui lui  est appellé a chaque fois.
Messages postés
7
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
15 septembre 2006

Non ce n'est pas tout à fait ce dont j'ai besoin....
En fait c'est vraiment avec les regions que je souhaiter faire ça.
En fait l'editbox est bien découpé au début mais des ke je clique dessus elle redevient rectangulaire (presque).
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013

Essaye de traiter WM_CTLCOLOREDIT a la place de WM_PAINT
Quand tu modifis un edit le messge WM_PAINT n'est pas appellé verifis avec spy++