Hab mir n Singleline-Edit-Child-Window gemacht in das ich Text eingeben kann. Bei drücken der Enter-Taste soll der Text nun abgeschickt werden. Problem ist, dass bei drücken der Enter-Taste nix passiert. Hab mir noch n DEFPUSHBUTTON dazu gemacht, wenn ich den anklicke, dann schickt er den Text ab, das funktioniert einwandfrei. Was ich jetzt bräuchte, wär ne Idee, wie der Button automatisch gedrückt wird, wenn im Edit-Window "reingeEntert" wird, bzw. müsste ich überhaupt mal rausfinden, wann der User "reinEntert".
Win32 EDIT Control
-
-
Habs inzwischen geschafft:
CodeGetClassInfo(NULL,"EDIT",&wc); OldWndProc=wc.lpfnWndProc; wc.lpfnWndProc=EditProc; wc.hInstance=hInst; wc.lpszClassName="EDIT"; RegisterClass(&wc); hEdit=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","",WS_CHILD | WS_BORDER | ES_AUTOHSCROLL | ES_LEFT,10,WINHGT-24,WINWID-20,24,hWnd,(HMENU)1,hInst,0); ShowWindow(hEdit,SW_SHOW); SendMessage(hEdit,EM_SETLIMITTEXT,999,0);
Code
Alles anzeigenLRESULT CALLBACK EditProc (HWND hEditProc, UINT msg, WPARAM wParam, LPARAM lParam) { if (locker==0) if (msg==WM_KEYDOWN) { if (wParam==VK_RETURN) { mess[0]=3; mess[1]=231; mpos=SendMessage(hEdit,EM_GETLINE,0,(LPARAM)mess); mess[mpos]=0; comsig=1; SendMessage(hEdit,EM_SETSEL,0,-1); SendMessage(hEdit,EM_REPLACESEL,TRUE,(LPARAM)(LPCTSTR)""); return 0; } if (wParam == VK_UP) { ofn.lStructSize=sizeof(OPENFILENAME); ofn.hwndOwner=glob; filter[0]='*'; filter[1]='.'; filter[2]='*'; filter[3]=0; filter[4]='*'; filter[5]=0; filter[6]=0; ofn.lpstrFilter=filter; ofn.lpstrCustomFilter=NULL; ofn.nFilterIndex=0; filename[0] = 0; ofn.lpstrFile=filename; ofn.nMaxFile=660; ofn.lpstrFileTitle=filetitle; ofn.nMaxFileTitle=400; ofn.lpstrInitialDir=NULL; ofn.lpstrTitle=NULL; ofn.Flags=OFN_EXPLORER; ofn.lpstrDefExt=NULL; if (GetOpenFileName(&ofn)!=0) comsig=2; return 0; } } return CallWindowProc(OldWndProc,hEditProc,msg,wParam,lParam); }
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!