здравствуйте. есть след код:
Код:
#include <Windows.h>
#include "WinProc.h"
//Точка входа в программу
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
//Создаем класс окна
WNDCLASS WindowClass;
//Заполняем структуру
WindowClass.style = 0;
WindowClass.lpfnWndProc = (WNDPROC)WndProc;
WindowClass.cbClsExtra = 0;
WindowClass.cbWndExtra = 0;
WindowClass.hInstance = hInstance;
WindowClass.hIcon = LoadIcon(hInstance,
(LPCTSTR)IDI_APPLICATION);
WindowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WindowClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
WindowClass.lpszMenuName = 0;
WindowClass.lpszClassName = TEXT("Class");
//Зарегистируем класс окна
RegisterClass(&WindowClass);
//Создаем переменную, в которой поместим идентификатор окна
HWND hWnd;
HWND hWnd_button;
HWND hWnd_richEdit;
hWnd = CreateWindow(TEXT("Class"), TEXT("Текстовый редактор"),
WS_OVERLAPPEDWINDOW, 0, 0, 800, 600, NULL, NULL, hInstance, NULL);
//Создание кнопки
hWnd_button = CreateWindow(TEXT("button"), TEXT("Открыть файл"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
10, 10, 180, 30, hWnd, (HMENU)10000, hInstance, NULL);
//Создание Текст. поля
hWnd_richEdit = CreateWindow(TEXT("richedit"), NULL, WS_CHILD | WS_VISIBLE | ES_MULTILINE | WS_VSCROLL |LBS_MULTIPLESEL |
ES_AUTOVSCROLL | ES_READONLY, 10, 10, 200, 300, hWnd, (HMENU)20000, hInstance, NULL);
//Создание меню
HMENU main_menu = CreateMenu();
HMENU menu_help = CreatePopupMenu();
HMENU menu_view = CreatePopupMenu();
AppendMenu(main_menu, MF_STRING | MF_POPUP, (UINT)menu_view, TEXT("&Файл"));
AppendMenu(main_menu, MF_STRING | MF_POPUP, (UINT)menu_help, TEXT("&Справка"));
AppendMenu(menu_help, MF_STRING, 1001, TEXT("&О программе..."));
AppendMenu(menu_view, MF_STRING, 1002, TEXT("О&ткрыть"));
AppendMenu(menu_view, MF_STRING, 1003, TEXT("&Создать"));
AppendMenu(menu_view, MF_STRING, 1004, TEXT("&Выход"));
SetMenu(hWnd, main_menu);
DestroyMenu(main_menu);
//показать окно
ShowWindow(hWnd, nCmdShow);
//обновить содержимое окна
UpdateWindow(hWnd);
//Создадим переменную для храненния сообщений
MSG msg;
//Создадим цикл обработки сообщений
while(GetMessage(&msg, NULL,0 ,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
Код:
#include <Windows.h>
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_CREATE:
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_PAINT:
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
Не хочет создаваться RichEdit. И подскажите, пожалуйста, как на этом примере создавать событие button и кнопкам меню. Я читал, что через WM_COMMAND, но хотелось бы увидеть реальный пример.