Regions sur editbox

waganono Messages postés 7 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 15 septembre 2006 - 14 sept. 2006 à 10:59
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013 - 16 sept. 2006 à 14:06
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

SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
14 sept. 2006 à 18:11
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.
0
waganono Messages postés 7 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 15 septembre 2006
15 sept. 2006 à 17:42
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).
0
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
16 sept. 2006 à 14:06
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++
0
Rejoignez-nous