Привет. Хочу просто сделать форму с кнопкой и чтобы при нажатии на кнопку что-нить делалось (все равно что) на чистом API. Форму я сделал и могу обрабатывать сообщения которые в неё поступают, у меня при нажатии на кнопку левой или правой кнопкой меняется текст окна и если открыт «Блокнот», то меняется и текст его заголовка окна. Добавил и кнопку на форму, но вот как обрабатывать сообщения для кнопки я не догоню!!! Собственно вот и вопрос – как сделать обработчик для кнопки. Вот код, который у меня получился:
#include <windоws.h>
LONG WINAPI WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{
HWND hwnd,bhwnd;
MSG msg;
WNDCLASS w;
memset(&w,0,sizeof(WNDCLASS));
w.style=NULL;
w.lpfnWndProc=WndProc;
w.hInstance=hInstance;
w.hbrbаскgrоund=(HBRUSH)COLOR_windоw;
w.lpszClassName="First";
w.hCursor=LoadCursor(NULL, IDC_ARROW);
RegisterClass(&w);
hwnd=Createwindоw("First","fucking windоw",WS_OVERLAPPEDwindоw,1,1,500,400,NULL,NULL,hInstance,NULL);
bhwnd=Createwindоw("BUTTON","OK",WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,10,10,100,100,hwnd,NULL,NULL,NULL);
Showwindоw(hwnd,nShowCmd);
Updatewindоw(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LONG WINAPI WndProc(HWND hwnd,UINT Message,WPARAM wparam,LPARAM lparam)
{
switch(Message)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_LBUTTONDOWN:
SetwindоwText(hwnd,"not fucking windоw");
break;
case WM_RBUTTONDOWN:
HWND hnd;
hnd=Findwindоw(NULL,"Áåçûìÿííûé - Áëîêíîò");
SetwindоwText(hnd,"jeon's soft - notepad");
SetwindоwText(hwnd,"its so scary in a world with peoples who are idiots");
break;
default:
return DefwindоwProc(hwnd,Message,wparam,lparam);
}
return 0;
}
22.10.05 17:03: Перенесено модератором из 'C/C++' — Odi$$ey
Код отформатирован и заключён в тэги [c]/[/c] — Кодт