练习

#include <windows.h>
#include <stdio.h>

LRESULT CALLBACK WindowProc(
  HWND hwnd,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
);
int WINAPI WinMain(
  HINSTANCE hInstance,
  HINSTANCE hPrevInstance,
  LPSTR lpCmdLine,
  int nShowCmd
)
{
 WNDCLASS wndcls;
 wndcls.cbClsExtra = 0;
 wndcls.cbWndExtra = 0;
 wndcls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
 wndcls.hCursor = LoadCursor(NULL, IDC_HAND);
 wndcls.hIcon = LoadIcon(NULL, IDI_WINLOGO);
 wndcls.hInstance = hInstance;
 wndcls.lpfnWndProc = WindowProc;
 wndcls.lpszClassName = "TEST";
 wndcls.lpszMenuName = NULL;
 wndcls.style = CS_HREDRAW | CS_VREDRAW;
 RegisterClass(&wndcls);

 HWND hwnd;
 hwnd = CreateWindow("TEST", "练习", WS_OVERLAPPEDWINDOW, 0, 0, 800, 600, NULL, NULL, hInstance, NULL);
 ShowWindow(hwnd, SW_SHOWNORMAL);
 UpdateWindow(hwnd);

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

LRESULT CALLBACK WindowProc(
  HWND hwnd,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
)
{
 switch(uMsg)
 {
 case WM_CHAR:
  char szChar[20];
  sprintf(szChar, "Char is %d", wParam);
  MessageBox(hwnd, szChar, "弹出标题", 0);
  break;
 case WM_LBUTTONDOWN:
  MessageBox(hwnd, "mouse click", "点击鼠标", 0);
  HDC hdc;
  hdc = GetDC(hwnd);
  TextOut(hdc, 0, 50, "你好", strlen("你好"));
  ReleaseDC(hwnd, hdc);
 case WM_PAINT:
  HDC hDC;
  PAINTSTRUCT ps;
  hDC = BeginPaint(hwnd, &ps);
  TextOut(hDC, 0, 10, "不好", strlen("不好"));
  EndPaint(hwnd, &ps);
  break;
 case WM_CLOSE:
  if(IDYES == MessageBox(hwnd, "确定关闭?", "提示", MB_YESNO))
  {
   DestroyWindow(hwnd);
  }
  break;
 case WM_DESTROY:
  PostQuitMessage(0);
  break;
 default:
  return DefWindowProc(hwnd, uMsg, wParam, lParam);
 }
 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值