Ein großes Richedit
-
Hi,
Ich versuche schon eine ganze Weile, dass ich nur ein großes Richedit habe. Jedoch führt nur das Erstellen eines Richedit ohne Parent zu dem Ergebenis, dass das Richedit um 90 Grad gedreht ist und der Text schief steht:
HWND CreateRichEdit(HWND hwndOwner, // Dialog box handle. int x, int y, // Location. int width, int height, // Dimensions. HINSTANCE hinst) // Application or DLL instance. { LoadLibrary(TEXT("Msftedit.dll")); HWND hwndEdit= CreateWindowEx(0, MSFTEDIT_CLASS, TEXT("Type here"), WS_OVERLAPPEDWINDOW | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL, x, y, width, height, hwndOwner, NULL, hinst, NULL); return hwndEdit; } HWND hRich = CreateRichEdit(0, 0, 0, 350, 200, hInstance);
Beim Erstellen eines Parents habe ich das Problem, dass sich das Richedit nicht automatisch an die veränderte Größe anpasst...
Danke im Voraus
-
Cooler Effekt.
In WS_OVERLAPPEDWINDOW steckt WS_CAPTION. WS_CAPTION ist numerisch identisch zu ES_VERTICAL, weshalb der Text vertikal dargestellt wird. Wenn du also "WS_OVERLAPPEDWINDOW" durch "WS_OVERLAPPEDWINDOW & ~ES_VERTICAL" ersetzt, kriegst du Text, der nicht von oben nach unten dargestellt wird.
Wenn du ein Parentfester hast, dann musst du die Kinder bei Größenänderung anpassen.
Sowas in der Art in die MessageProc schreiben:case WM_SIZE: MoveWindow(hRich, 0, 0, LOWORD(lParam), HIWORD(lParam), 1);
-
In anderen Worten:
Benutze das Edit Control nicht auch als Frame. Erzeuge ein eigenes Frame-Window in dem Du das Edit Control platzierst.