Cum pot schimba clbtnface
Cum pot schimba clBtnFace?
Cum pot schimba clBtnFace? Sau orice alte valori de culoare în aplicația mea.
clBtnFace, clWinow etc. - un sistem de culoare. Acestea sunt stabilite de către utilizator în ecranul de setări (sau predeterminată de către utilizator în schema de culori selectată). Schimbarea sau în orice fel, fie în întregul sistem dintr-o dată (vezi. Funcția SetSysColors WinAPI și exemplul de mai jos).
Dacă credeți că programul este atât de mare încât are dreptul de a utiliza propriile culori, în loc de cei care doresc utilizatorul, sistemul nu utilizează, și culori clare (clBlue, clGreen, etc) pentru ea.
Dar, înainte de a face, te sfătuiesc să gândească de două ori. Cei mai mulți utilizatori nu le place atunci când funcționează programul așa cum vă doriți, nu utilizatorul. Prin urmare, astfel de programe sunt de obicei trimise la coșul de gunoi. O dată pentru totdeauna.
Tu chiar vrei asta? Se pare că nu. Oh, și dacă într-adevăr mâncărime pentru a face acest lucru, iată un exemplu de la MSDN:
// Elemente de ferestre pentru a schimba.
int aiElements [3] =
# XA0 ;;
// Array valorilor RGB.
aColors DWORD [3];
// Definiți noile culori.
aColors [0] = RGB (0x80, 0x00, 0x80); # XA0; violet // întuneric
aColors [1] = RGB (0x00, 0x80, 0x80); # XA0; // azuriu închis
aColors [2] = RGB (0xC0, 0xC0, 0xC0); # XA0; // gri deschis
// Setați elementele de ferestre din aiElements la culorile
// specificat în aColors.
SetSysColors (3, aiElements, aColors);
Multumesc pentru raspuns.
Nu sunt pe nelly dumneavoastră nu doriți să modificați culorile din sistem. Mai mult decât atât, eu nu-mi place când softina nu utilizează culori de sistem. Cu toate acestea, în acest moment am o dorință puternică de a schimba culoarea clientului pe tot parcursul proiectului pe un monocrom, dar rândul său, setările de culoare ale sistemului nu Hunt.
Utilizați culori clare - nu este o opțiune, deoarece culoarea multe elemente nu pot fi schimbate, și singura modalitate de a lupta acest caz, eu văd un plin redesenare pe OnPaint. # XA0; O opțiune mai ieftină pentru a se schimba clBtnFace, clWindow. Ne pare rău dacă acest lucru nu este posibil.
Memorie: 0.72 MB
Timpul: 0.028 c