begin process at 2012 02 10 10:59:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

Owner Drawn Combobox - Scintillement excessif


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Owner Drawn Combobox - Scintillement excessif

samedi 4 juillet 2009 à 20:12:44 | Owner Drawn Combobox - Scintillement excessif

Hades53

Membre Club
Bonjour à tous, en utilisant l'owner drawn, j'ai customisé un combo (droplist) afin de faire un sélecteur de couleurs.
Je recupere les infos via le WM_DRAWITEM et j'envoi le tout à une fonction de dessin.
La fonction fonctionne parfaitement, mais le contrôle scintille trop j'ai l'impression.
Y aurait-il un moyen d'optimiser cela ? Voici le code de ma fonction de dessin:

void FastDrawCombo(LPDRAWITEMSTRUCT draw,const char *str) {
HBRUSH brush;
COLORREF color;
RECT rc;
if (draw->itemID != -1) {
SetBkMode(draw->hDC, TRANSPARENT);
color = (COLORREF)draw->itemData;
rc = draw->rcItem;
//Colorie tout le rectangle en blanc (afin d'effacer le background)
brush = CreateSolidBrush(RGB(255,255,255));
FillRect(draw->hDC,&rc,brush);
DeleteObject(brush);
//Dessin de la bordure du rectangle contenant la couleur
brush = CreateSolidBrush(RGB(192,192,192));
rc.left += 3;
rc.top += 2;
rc.right -= 3;
rc.bottom -= 2;
FillRect(draw->hDC,&rc,brush);
DeleteObject(brush);
brush = CreateSolidBrush(color);
rc.left += 1;
rc.top += 1;
rc.right -= 1;
rc.bottom -= 1;
//Ajoute la couleur desirée
FillRect(draw->hDC,&rc,brush);
DeleteObject(brush);
//Dessin du rectangle focus
if (((draw->itemAction & ODA_FOCUS) || (draw->itemAction & ODA_DRAWENTIRE))
&& (draw->itemState & ODS_SELECTED) && (draw->itemState & ODS_FOCUS)) {
rc.left -= 2;
rc.top -= 2;
rc.right += 2;
rc.bottom += 2;
DrawFocusRect(draw->hDC,&rc);
}
}
}


Cette discussion est classée dans : draw, dessin, hdc, rc, brush


Répondre à ce message

Sujets en rapport avec ce message

Choosepixelformat & Setpixelformat [ par mondrone ] Voila, je developpe actuellement sur dev-c++, et l'utilisation de ces deux fonctions me renvoie une erreur de linkage. Je voudrais donc savoir ce qui redimentionnement d'image, aidez-moi svp [ par sousou_one ] salut à tous,je veux construire une bitmap par copie d'une région d'une bitmap source, je dois prendre les nouvelles dimensions en sélectionnant la ré Boîte de dialogue dans un fichier .rc [ par Crazy_Joe ] Bonjour à tous, Voilà, j'ai un fichier avec la fenêtre principale en code, etc... J'ai également un fichier .rc avec une boîte de dialogue que j'ai f Besoin d' aide Dessin de SPECTRUM [ par satellite34 ] yop, je fais un player mp3 http://www.cppfrance.com/code.aspx?ID=32901  , avec wxWIDGETS et FMODet vu que je programme tout seul dans mon coin et qu' pb dialog bar et dessin [ par obby ] Bonjour dsl de encore posté un msg mais j'ai un gros problème. En fait, je dessine ma dialogbar avec la couleur que je veu, les controles transparent scintillement et HDC [ par DormeurDev ] Pour éviter le scintillement dû au rafraîchissement dans des appliqcation graphique on utilise un buffer pour dessiner avant d'afficher. Comment mett Probleme avec une fonction de rotation [ par SnOOpss ] voila ma fonction HBITMAP rotate90(HBITMAP hbmp) { BITMAP bm; GetObject((HBITMAP)hbmp, sizeof(bm), &bm); BITMAPINFO bi,biNew; biNew.bmiHeader.biSiz Problème de compilation avec Borland : Direct Draw [ par hiccup ] Bonjour, J'utilise le compilateur gratuit de Borland BCC55. J'ai réalisé un programme utilisant direct draw que je n'arrive pas à compiler. Pour compi problème avec les couleurs de la fonction BRUSH [ par ketchupy45 ] Bonjour, voila j'ai une petit application (qui sert aps à grand chose pour l'instant) où je change la couleur d'un rectangle en cliquant dessus. Ca am


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales