SDK平台的一个简单窗口程序

SDK平台的一个简单窗口程序 

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

LRESULT CALLBACK MyAppProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
 
 WNDCLASS wndcls;
 wndcls.cbClsExtra = 0;
 wndcls.cbWndExtra = 0;
 wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
 wndcls.hCursor = LoadCursor(NULL, IDC_CROSS);
 wndcls.hIcon = LoadIcon(NULL, IDI_ERROR);
 wndcls.hInstance = hInstance;
 wndcls.lpfnWndProc = MyAppProc;
 wndcls.lpszClassName = "FENG";
 wndcls.lpszMenuName = NULL;
 wndcls.style = CS_HREDRAW | CS_VREDRAW;

 //注册窗口类
 RegisterClass(&wndcls);
 //创建窗口类
 HWND hwnd;
 hwnd = CreateWindow("FENG", "SDK APP", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, NULL, NULL, hInstance, NULL);
 //显示及更新窗口类
 ShowWindow(hwnd, SW_SHOWNORMAL);
 UpdateWindow(hwnd);

 //消息循环
 MSG msg;
 while(GetMessage(&msg, hwnd, 0, 0))
 {
  TranslateMessage(&msg);
  DispatchMessage(&msg);
 }
 return 0;
}


LRESULT CALLBACK MyAppProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
 HDC hDc;
 PAINTSTRUCT ps;
 switch(uMsg)
 {
 case WM_PAINT:
  hDc = BeginPaint(hwnd, &ps);
  TextOut(hDc, 0, 0, "fengzanfeng", 0);
  EndPaint(hwnd, &ps);
  break;
 case WM_CHAR:
  break;
 case WM_CLOSE:
  if(IDYES == MessageBox(hwnd, "确定要退出此应用程序吗?", "退出提示", MB_YESNO))
  {
   DestroyWindow(hwnd);
  }
  break;
 case WM_DESTROY:
  PostQuitMessage(0);
  break;
 case WM_LBUTTONDOWN:
  MessageBox(hwnd, "mouse click", "system", 0);
 default:
  return DefWindowProc(hwnd, uMsg, wParam, lParam);   //记得return 不能少
 }
 return 0;
}

posted @ 2008-11-23 13:51  冯赞锋  阅读(289)  评论(0编辑  收藏  举报