Farbe von EditBox ändern

Morpheus

Mitglied
Hallo!

ich habe eine EditBox mit dem Namen: IDC_txt_std
Und ich habe einen Btutton mit dem Namen: ID_B1

Ich will nun, wenn ich auf den Button klicke, die Hintergrundfarbe der EditBox ändern in zb Rot.
Die Methode für den Buttonklick habe ich schon. Ich möchte nur wissen wie der Befehl heißt mit dem man die Hintergrundfarbe ändern kann. Kann mir da jemand helfen?

, Morpheus
 
MFC oder API?

im API musst du ne message namens EM_SETBKGNDCOLOR senden.

Code:
EM_SETBKGNDCOLOR 
wParam = (WPARAM) (BOOL) fUseSysColor; 
lParam = (LPARAM) (COLORREF) clr;
fUseSysColor = FALSE
clr = farbe als COLORREF


Nun musst du einfach nur in deiner WindowProc/DialogProc her gehen und die WM_COMMAND abfangen, welche als unterkomando ein BN_CLICKED enthält.

Code:
case WM_COMMAND:
    switch(HIWORD(wParam)) {
        case BN_CLICKED:    
            if(LOWORD(wParam) == ID_B1) {
                SendMessage(GetDlgItem(hDlg, IDC_txt_std), EM_SETBKGNDCOLOR, FALSE,  0x003366FF);
            }
        break;
    }
wParam ist hier den WORD parameter der dialogprozedur, und hDlg ist der HANDLE des dialogs.

mit MFC funktioniert das ganze n wenig anders
dort musst du einen handler registrieren der die MFC methoden dann aufruft, wie das aber genau geht kann ich dir net sagen, dazu hab ich MFC schon zu lange nicht mehr benutzt.
 
hi,

ich arbeite mit MFC, schade dass du mir da nicht helfen kannst, aber trotzdem danke für deine mühen!

Kennst sich sonst jemand damit aus?
 
ok ich werd mir des mal ankucken...

kann mir aber jemand noch erklären wie ich zb die Eigenschaften einer Editbox wärend des Programmlaufes ändern kann? Also die Eigenschaften, die man auch mit rechter Maustaste + Eigenschaften aufrufen kann...
wär klasse, !

Morpheus
 
Zurück