码迷,mamicode.com
首页 > 其他好文 > 详细

1.最简单的窗口应用程序

时间:2016-01-11 22:17:23      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:

编写窗口程序的步骤:

1.定义WinMain函数

2.定义窗口处理函数(自己定义,处理消息)

3.注册窗口类(向操作系统写入数据)

4.创建窗口(在内存中创建窗口)

5.显示窗口(根据内存数据,在显示器显示出来)

6.消息循环

7.消息处理(提取、翻译、派发消息)

#include "stdafx.h"
#include "WinCreate.h"

//2.定义窗口处理函数
LRESULT CALLBACK WndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
  return DefWindowProc(hWnd, nMsg, wParam, lParam);
}

//1.定义WinMain函数
int APIENTRY WinMain(HINSTANCE hInstance,
                                HINSTANCE hPrevInstance,
                                LPSTR lpCmdLine,
                                int nCmdShow)
{
  //3.注册窗口类(往操作系统中写数据)
  WNDCLASS wc = { 0 };
  wc.cbClsExtra = 0;//开缓冲区
  wc.cbWndExtra = 0;//开缓冲区
  wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
  wc.hCursor = NULL;
  wc.hIcon = NULL;
  wc.hInstance = hInstance;
  wc.lpfnWndProc = (WNDPROC)WndProc;
  wc.lpszClassName = (LPCTSTR)"Main";
  wc.lpszMenuName = NULL;
  wc.style = CS_HREDRAW | CS_VREDRAW;
  RegisterClass(&wc);//将以上所有赋值全部写入操作系统

  //4.创建窗口(申请一块内存,向这个内存中扔关于窗口的数据)
  HWND hWnd = CreateWindow((LPCTSTR)"Main", (LPCTSTR)"window", WS_OVERLAPPEDWINDOW, 100, 100,
  500, 500, NULL, NULL, hInstance, NULL);

  //5.显示窗口(根据内存中的数据,在显示器中画出来)
  ShowWindow(hWnd, SW_SHOW);
  //UpdateWindow(hWnd);//刷新窗口(再画一遍)

  //6.消息循环
  MSG uMsg = { 0 };
  while ( GetMessage(&uMsg, NULL, 0, 0) )
  {

    //7.消息处理
    TranslateMessage(&uMsg);
    DispatchMessage(&uMsg);//派发给自己定义的函数
  }

  

  return 0;
}

1.最简单的窗口应用程序

标签:

原文地址:http://www.cnblogs.com/csqtech/p/5122539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!