Frage zu editboxen
-
k. allerdings hab ich das ding als dialogbox in vc++ gemacht-> ich hab das Handle davon net.. oder krieg ich das irgendwie raus?? wäre natü+rlich cool
dann würde es nämlich klappen
mfg
-
GetDlgItem
Verschoben nach WinAPI.
-
thx...
getestet -> geht immer noch ned :-(((
hilfeeee
mfg
-
Zeig Code.
-
hab ich net hier.... habsch aufm laptop und der is oben...
im mom bin ich zu faul hoch zu laufen :palso wenn ich wieder oben bin, dann werd ich mir ne diskette schnappen und den code dann posten
bis dann
-
hey, dein Privatleben hat hier nichts zu suchen.
-
Fauler Sack, du
:p
-
Original erstellt von dEUs:
Fauler Sack, du:p
jepp ich weiß..
hier der code:
#include <windows.h> #include <windowsx.h> #include <stdio.h> #include <stdlib.h> #include "resource.h" RECT EditRect; HINSTANCE g_hInstance; BOOL CALLBACK DlgProcInfo(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { switch(Msg) { case WM_CREATE: { }break; case WM_COMMAND: { switch(LOWORD(wParam)) { case IDCLOSE: { SendMessage(hWnd, WM_CLOSE, 0, 0); }break; } }break; case WM_CLOSE: { EndDialog(hWnd, FALSE); }break; } return FALSE; } BOOL CALLBACK DlgProcMain(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { switch(Msg) { case WM_CREATE: { GetClientRect(hWnd, &EditRect); EditRect.bottom -=5; EditRect.right -=5; SendDlgItemMessage(hWnd, IDC_TEXT, EM_SETRECT, 0, (LPARAM)(LONG) &EditRect); HWND eb_hWnd=GetDlgItem(hWnd, IDC_TEXT); SetWindowPos(eb_hWnd, HWND_TOP, 0, 0, 10, 10, SWP_SHOWWINDOW); }break; case WM_COMMAND: { switch(LOWORD(wParam)) { case IDC_FILE_EXIT: { SendMessage(hWnd, WM_CLOSE, 0, 0); }break; case IDC_FILE_NEW: case IDC_FILE_SAVE: case IDC_FILE_LOAD: case IDC_FILE_PRINT: { MessageBox(hWnd, "Diese Funktion steht momentan nicht zur Verfügung.", "Hinweis", MB_ICONINFORMATION); }break; case IDC_HELP_INFO: { DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_INFO), hWnd, DlgProcInfo); }break; } }break; case WM_CLOSE: { EndDialog(hWnd, FALSE); }break; case WM_SIZE: { GetClientRect(hWnd, &EditRect); EditRect.bottom -=5; //Wegen Scrollbalken EditRect.right -=5; //wegen Scrollbalken SendDlgItemMessage(hWnd, IDC_TEXT, EM_SETRECT, 0, (LPARAM)(LONG) &EditRect); RECT test; SendDlgItemMessage(hWnd, IDC_TEXT, EM_GETRECT, 0, (LPARAM)(LONG)&test); //char buffer[256]; //sprintf(buffer, "b:%d, l:%d, r:%d, t:%d", test.bottom, test.left, test.right, test.top); //MessageBox(hWnd, buffer, "", NULL); }break; } return FALSE; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { g_hInstance = hInstance; DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, DlgProcMain); return FALSE; }
viel spaß dabei :p
mfg
-
Eigentlich solltest du den Code posten, mit dem es nicht funktioniert hat.
Naja, egal schreib mal folgendes in den WM_SIZE-Zweig:GetClientRect(hWnd, &EditRect); EditRect.bottom -=5; //Wegen Scrollbalken EditRect.right -=5; //wegen Scrollbalken SetWindowPos(GetDlgItem(hWnd, IDC_TEXT), 0, 0, 0, EditRect.right-EditRect.left, EditRect.bottom-EditRect-top, SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER);
-
ich hab auch beim coden nen kleinen fehler gehabt.. sorry *zwinker* aber in deiner anweisung sind auch nen paar fehler drinne...
ich kompiliers grad ma.. moment.. (nach verbesserung deiner kleinen fehler)
und... ja es gehtthx für die hilfe