Edit Style ändern
-
Hi,
ich seh mal wieder den Sprichwörtl. Wald nicht...Ich möchte den Style eines gesubclassten Edit-Controls ändern.
LRESULT CALLBACK SubEdit (HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) { switch(msg) { case WM_LBUTTONDOWN: if (ONETIME) break; else { SetWindowLongPtr(hwnd, GWL_STYLE, GetWindowLongPtr(hwnd, GWL_STYLE) | ES_PASSWORD); //edit mit SetWindowPos() gehts auch nicht SetWindowPos(hwnd,NULL,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED); SetWindowText(hwnd, ""); ONETIME = true; } break; } return CallWindowProc ((WNDPROC) OldEditProc, hwnd, msg, wParam, lParam); }Das ONETIME ist lediglich dort, damit er nur einmal beim Klick auf das Edit den style ändert.
So wurde es erstellt und gesubclassed:
hEdit = CreateWindow("edit", "", WS_VISIBLE|WS_CHILD| ES_LEFT|ES_AUTOHSCROLL, 150, 100, 200, 20, hwnd, (HMENU)5993, GetModuleHandle (NULL), 0); OldEditProc = SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR) SubEdit);ONETIME wird zurückgesetzt wenn sich der Dialog, indem sich das Edit befindet öffnet (in der WM_INITDIALOG).
Ja, mehr gibts eig. nicht zu sagen. Hat jemand spontan eine Idee?
Bei Fragen, fragen.Danke!
Bis Bald ein.brot