J
Lege diese globale Variable an:
WNDPROC g_wndpEdit;
Dann das Editfeld währen der Verarbeitung von WM_INITDIALOG deines Dialoges subclassen:
case WM_INITDIALOG:
hWndEdit = GetDlgItem(hWnd, ID_DER_EDITBOX); //hWnd ist der Handle zu deinem Dialog
g_wndpEdit = (WNDPROC)SetWindowLongPtr(hWndEdit, GWLP_WNDPROC,(LONG_PTR)EditSubclassProc);
return TRUE;
hWndEdit ist der Handle auf die zu subclassende Editbox.
Dann die neue Prozedur(Funktion) für deine Editbox:
LRESULT CALLBACK EditSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_: //Hier kannst du jetzt beliebige Nachrichten bearbeiten
return TRUE;
default:
break;
}
return(CallWindowProc(g_wndpEdit, hWnd, uMsg, wParam, lParam)); //ruft nochmal die Standardprozedur deiner Editbox auf,
//um nicht bearbeitete Nachrichten zu bearbeiten.
}
Ich hoffe ich konnte dir helfen.
[EDIT]
Natürlich musst du in der Resourcedatei eine Editbox mit der entsprechenden ID definiert haben,die dann
im Fenster deines Dialoges angezeigt wird.
[/EDIT]