Автор: l_Instructor_l
Дата сообщения: 26.01.2006 11:20
vito333
Если ты писал на API, то возможно заметишь какую нибудь особенность у нижеприведенного минимального приложения, в сравнении со своим. Просто этот код самый минимум - уже не знаю куда рыть.
[more=code]
Код:
#include <windows.h>
#include <richedit.h>
LRESULT CALLBACK WndProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch (Message)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hWnd, Message, wParam, lParam);
}
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hMain;
HINSTANCE richDll;
HWND hRich;
MSG msg;
WNDCLASSEX wc;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = NULL;
wc.hCursor = LoadCursor(0, IDC_ARROW);
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
wc.lpszMenuName = NULL;
wc.lpszClassName = "My Class";
wc.hIconSm = NULL;
RegisterClassEx(&wc);
hMain = CreateWindowEx(0, "My Class", "My Title", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, hInstance, 0);
richDll = LoadLibrary("RICHED20.DLL");
hRich = CreateWindowEx(0, "RichEdit20A", NULL, WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL|ES_MULTILINE|ES_DISABLENOSCROLL|ES_AUTOHSCROLL|ES_AUTOVSCROLL|ES_NOHIDESEL|WS_BORDER, 10, 10, 400, 400, hMain, 0, hInstance, 0);
SendMessage(hRich,EM_SETTEXTMODE,TM_PLAINTEXT|TM_MULTILEVELUNDO|TM_MULTICODEPAGE,0);
SendMessage(hRich,WM_SETTEXT,0,(LPARAM)"Last line with carriage return\r\n");
SetFocus(hRich);
ShowWindow(hMain, nCmdShow);
UpdateWindow(hMain);
while (GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
FreeLibrary(richDll);
return msg.wParam;
}