Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 113


131

WndClass.hCursor = LoadCursor (NULL, IDC_ARROW); WndClass.librBackground - (HBRUSH) GctStockObject (WHITE_BRliSH); WndClass.lpszMcnuNamc - NULL; WndClass.lpszClassNamc ~ sxClassName;

if ( !RegisterClass(&WndClass) )

f

MessageBox(NULL,"Cannot register class", "Error", MB_OK); return 0;

} liWud = C'reateWmdow(szClassName, "EditDemo",

WS_OVERLAPPEDWINDOW, CWJJSEDEFAULT.

CW_USEDEFAULT, CW_USEDEFAULT,

CW_USEDEFAULT, NULL, NULL,

hlnstance.NULL); if(!hWnc!)

t MessageBo,x(NULL,"Cannot create window ', "Error", MBJDK);

return 0;

/* Show our window */

ShowWindow(hWnd,nCmdSliow);

UpdateWindow(hWnd); /* Beginning of messages cycle */

while(GetMessage(&Msg, NULL, 0, 0))

!

TranslateMessage(&Msg);

DispatchMessagef&Msg); } return Msg.wParam;

LRESULT CALLBACK EditDemoWndProc (HWND hWnd, UINT Message,

UFNT wParam, LONG IParam )

'static HWND hEditWnd; RECT Rcct;

switch(Message)

!

case WMJTREATE:

GetClientRect(hWnd, &Rect);

hEditWnd = CreatcWindow("edit", NULL,

WS_CHILD | WSJVISIBLE | WS HSCROLL! WS VSCROLL| WS BORDER | ES_LEFT | ES MULTILLNE [ ES_AUTOHSCROLL | ES^AUTOVSCROLL, 0, 0, 0, 0,

132

hWnd,

(HMENU) ID_Edit, hlnst, NULL); return 0; case WM_SIZE: MoveWindow(liEditWnd, 0, 0, LOWORD(lParam), HIWORD(IParam),

TRUE); return 0;

case WM_SETFOCUS: SetFocus(hEditWnd); return 0;

case WM_DESTROY: PostQuitMessage(O); return 0; } return DefWindowProc(hWnd,Message,wParam, IParam);

Вид окна, создаваемого программой, показан на рис. 11.

Эта программа создает окно редактирования, которое располагается по­верх основного окна программы. Фактически в программе создается тексто­вый редактор, позволяющий осуществлять набор и редактирование текста, выделять части текста. Выделенные части текста могут быть перемещены в Clipboard посредством нажатия клавиш Shift-Delete, а после нажатия клавиш Shift-Insert текст из Clipboard'a может быть вставлен в окно.

В EditDemo

Это окно, представляющее собой простейший текстовый редактор, создано на основе многострочного окна редактирс ния.




Начало  Назад  Вперед



Книжный магазин