botton使用createwindow创建

#include"stdafx.h"
#include"resource.h"
#defineBUTTON_ID 100

LRESULTCALLBACKWindowProc(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam);

int API ENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTRlp CmdLine,int nCmdShow)
{
WNDCLASSEX wc;
wc.cbSize=sizeof(wc);
wc.style=0;
wc.lpfnWndProc=WindowProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hInstance=hInstance;
wc.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON));
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName=NULL;
wc.lpszClassName=_T("MyWndName");
wc.hIconSm=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON));

if(!RegisterClassEx(&wc))
{
return-1;
}
HWND hMainWnd;
hMainWnd=CreateWindowEx(0,
                _T("MyWndName"),
  _T("MyTestWindow"),
  WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  NULL,
  LoadMenu(hInstance,MAKEINTRESOURCE(IDR_MENU)),
  hInstance,
  NULL);
if(!hMainWnd)
{
 UnregisterClass(_T("MyWndName"),hInstance);
 return-2;
}
ShowWindow(hMainWnd,nCmdShow);
UpdateWindow(hMainWnd);
MSGmsg;

while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return msg.wParam;

}

LRESULT CALLBACK WindowProc(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam)
{
  LRESULT lResult;
  HWND hButton;
  switch(uMsg)
  {
   case WM_CREATE:
        hButton=CreateWindow("BUTTON",
   "Click",
   WS_CHILD,
   20,
   20,
   100,
   35,
   hwnd,
   (HMENU)BUTTON_ID,
   0,
   NULL);
        if(hButton)
 {
          ShowWindow(hButton,SW_SHOW);
        }
        break;
   case WM_COMMAND:
        switch(LOWORD(wParam))
        {
          case ID_FILE_NEW:
               break;
          case ID_FILE_OPEN:
               break;
          case ID_FILE_CLOSE:
               break;
          case ID_APP_EXIT:
               PostMessage(hwnd,WM_CLOSE,0,0);
               break;
          case ID_APP_ABOUT:
                break;
          case BUTTON_ID:
               MessageBox(hwnd,"ButtonClicked","Notify",MB_OK);
         }
        break;

  case WM_CLOSE:
         if(IDOK==MessageBox(hwnd,_T("Areyousure?"),_T("Quit"),MB_OKCANCEL|MB_ICONQUESTION))
          {
           DestroyWindow(hwnd);
          }
         break;
    case WM_DESTROY:
         PostQuitMessage(0);
         break;
    default:
         lResult=DefWindowProc(hwnd,uMsg,wParam,lParam);
         break;
   }
return lResult;
}

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值