1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
#include "resource.h"
#include <windows.h>
char classname[8]="leClass";
HWND toolbar;
INT_PTR CALLBACK ToolProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){
switch (msg){
case WM_COMMAND:
switch (LOWORD (wParam)){
case ID_BTHI :
MessageBox (NULL, "Hello :)","Greetings", MB_OK | MB_ICONINFORMATION);
break;
}
break;
default :
return FALSE;
}
return TRUE;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){
switch (msg){
case WM_CREATE :{
toolbar = CreateDialog (GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_TOOLBAR), hwnd, ToolProc);
if (toolbar != NULL){
ShowWindow (toolbar, SW_SHOW);
}
else
MessageBox (NULL, "Failed to make toolbar", "Error", MB_OK| MB_ICONWARNING);
}
break;
case WM_COMMAND :
switch (LOWORD(wParam)) {
case ID_SHOW:
ShowWindow (toolbar, SW_SHOW);
break;
case ID_HIDE:
ShowWindow (toolbar,SW_HIDE);
break;
case ID_MYEXIT :
PostMessage(hwnd, WM_CLOSE, 0,0);
break;
}
break;
case WM_CLOSE :
DestroyWindow (hwnd);
break;
case WM_DESTROY :
PostQuitMessage(0);
break;
default:
return DefWindowProc (hwnd, msg, wParam, lParam);
}
return 0;
}
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR size, int nCmdShow){
HWND hwnd;
MSG msg;
WNDCLASSEX wc;
wc.cbSize = sizeof (WNDCLASSEX);
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hbrBackground = (HBRUSH) (COLOR_WINDOW+1);
wc.hCursor = LoadCursor (NULL,IDC_ARROW);
wc.hInstance = hInstance;
wc.lpfnWndProc = WndProc;
wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wc.hIconSm = LoadIcon (NULL,IDI_APPLICATION);
wc.lpszClassName = classname;
wc.style =0;
wc.lpszMenuName = MAKEINTRESOURCE (IDM_MYMENU);
if(!RegisterClassEx(&wc)){
MessageBox(NULL, "Failed to make window", "Error", MB_OK|MB_ICONWARNING);
}
hwnd =CreateWindowEx (WS_EX_CLIENTEDGE, classname, "le window", WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT, 400,500, NULL,NULL,hInstance,NULL);
if (hwnd == NULL){
MessageBox (hwnd, "Failed to make window", "Error", MB_OK|MB_ICONWARNING);
}
ShowWindow (hwnd, nCmdShow);
UpdateWindow (hwnd);
while (GetMessage(&msg,hwnd,0,0)>0){
if (!IsDialogMessage (toolbar, &msg)){
TranslateMessage (&msg);
DispatchMessage(&msg);
}
}
return msg.wParam;
}
|