1. LRESULT WINAPI WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
  2. {
  3. PAINTSTRUCT ps;
  4. switch (msg)
  5. {
  6. case WM_PAINT:
  7. {
  8. BeginPaint(hWnd,&ps);
  9. EndPaint(hWnd,&ps);
  10. return ;
  11. }
  12. case WM_DESTROY:
  13. {
  14. PostQuitMessage();
  15. return ;
  16. }
  17. }
  18.  
  19. return DefWindowProc(hWnd,msg,wParam,lParam);
  20. }
  21. void initWndClass(HINSTANCE hInstance,WNDCLASSEX &wndClass)
  22. {
  23. wndClass.cbSize = sizeof(WNDCLASSEX);
  24. wndClass.style = CS_HREDRAW | CS_VREDRAW;
  25. wndClass.lpfnWndProc = WndProc;
  26. wndClass.cbClsExtra = ;
  27. wndClass.cbWndExtra = ;
  28. wndClass.hInstance = hInstance;
  29. wndClass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
  30. wndClass.hCursor = LoadCursor(NULL,IDC_ARROW);
  31. wndClass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
  32. wndClass.lpszClassName = TEXT(CLASSNAME);
  33. wndClass.lpszMenuName = NULL;
  34. wndClass.hIconSm = LoadIcon(NULL,IDI_WINLOGO);
  35. }
  1. int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
  2. {
  3. HWND hWnd;
  4.  
  5. WNDCLASSEX wndClass;
  6. initWndClass(hInstance,wndClass);
  7.  
  8. RegisterClassEx(&wndClass);
  9.  
  10. hWnd = CreateWindow(
  11. TEXT(CLASSNAME),
  12. TEXT(APPNAME),
  13. WS_OVERLAPPEDWINDOW,
  14. CW_USEDEFAULT,
  15. CW_USEDEFAULT,
  16. SCREEN_W,
  17. SCREEN_H,
  18. NULL,
  19. NULL,
  20. hInstance,
  21. NULL
  22. );
  23.  
  24. if (NULL == hWnd)
  25. {
  26. MessageBox(NULL,TEXT("NULL == hWnd"),NULL,MB_OK);
  27. return ;
  28. }
  29.  
  30. UpdateWindow(hWnd);
  31. ShowWindow(hWnd,nShowCmd);
  32. MSG msg;
  33. while (true)
  34. {
  35. if ( PeekMessage(&msg,NULL,,,PM_REMOVE) )
  36. {
  37. if (WM_QUIT == msg.message)
  38. {
  39. break;
  40. }
  41. TranslateMessage(&msg);
  42. DispatchMessage(&msg);
  43. }
  44. else
  45. {
  46. Render();
  47. }
  48. }
  49. Release();
  50. return msg.lParam;
  51. }

初始化windows窗口的更多相关文章

  1. 【转】Windows 窗口层次关系

    原文链接:undefined! 相信在Windows 下面编程的很多兄弟们都不是很清楚Windows 中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所 ...

  2. 设置windows窗口ICON 【windows 编程】【API】【原创】

    1. ICON介绍 最近开始接触windows 编程,因此将自己所接触的一些零散的知识进行整理并记录.本文主要介绍了如何更改windows对话框窗口的ICON图标.这里首先介绍一下windows IC ...

  3. Windows窗口消息大全(转)

    Windows窗口消息大全,全不全自己看 ////////////////////////////////////////////////////////////////////////// #inc ...

  4. win32 api Windows窗口的创建

    windows窗口的创建有以下几个步骤: 1.创建注册窗口类 2.创建窗口句柄 3.显示更新窗口 4.消息循环 1.创建注册窗口类 所谓创建窗口类就是定义一个WNDCLASS类对象,并将该对象进行初始 ...

  5. Windows窗口消息大全

    ////////////////////////////////////////////////////////////////////////// #include "AFXPRIV.H& ...

  6. 从普通函数到对象方法 ------Windows窗口过程的面向对象封装

    原文地址:http://blog.csdn.net/linzhengqun/article/details/1451088 从普通函数到对象方法 ------Windows窗口过程的面向对象封装 开始 ...

  7. 第一个Windows窗口应用程序

    学习目的 熟悉开发工具Visual C++ 6.0和MSDN 2001的使用. 应用Windows API函数, 手工编写具有最基本构成的Windows窗口应用程序(包含WinMain入口函数, 消息 ...

  8. C语言Windows程序开发—Windows窗口样式与常用控件样式【第04天】

    (一)Windows窗口(MDICLIENT)样式介绍 /* Windows窗口样式 */ WS_BORDER //带有边框的窗口 WS_CAPTION //带有标题栏的窗口 WS_CHILD //子 ...

  9. WIN32 API ------ 最简单的Windows窗口封装类

    1 开发语言抉择 1.1 关于开发Win32 程序的语言选择 C还是C++ 在决定抛弃MFC,而使用纯Win32 API 开发Window桌面程序之后,还存在一个语言的选择,这就是是否使用C++.C+ ...

随机推荐

  1. Apache 安装与配置

    安装Apache 1.下载apache软件http://www.apache.org 2.安装 以管理员身份进行安装 3.设置主机名与域名 4.选择安装类型 5.自定义安装路径 6.开始安装 7.安装 ...

  2. mysql 导出表结构

    mysql导出数据库各表结构,很简单只要一条命令即可: mysqldump -uxxx -d databasename [,table] > xxx.sql mysqldump中-d参数即为只导 ...

  3. how to Enable Client Integration

    i got a problem,the problem is list cant use export to excel button in sharepoint 2010. I found my a ...

  4. HTML5跨文档消息传递

    HTML5定义了一些javascript API,其中有一个就是跨文档消息传递(cross-document-messaging简称XDM). 现在XDM已经作为一个规范独立了出来,名字为:Web M ...

  5. DTCMS会员中心快速更改样式思路

    非常简便 制作一个public.css文件,包含网站头部和底部的样式代码 每个会员中心模版导入这个文件就可以 把原先style.css的头部和底部样式代码删除

  6. 运用百度开放平台接口根据ip地址获取位置

    使用百度开放平台接口根据ip地址获取位置 今天无意间发现在百度开放平台接口,就把一段代码拿了下来,有需要的可以试试看:http://opendata.baidu.com/api.php?query=5 ...

  7. linux设备驱动模型(kobject与kset)

    Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述.换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要 ...

  8. Centos6.4 安装NLTK

    NLTK 安装链接 http://www.nltk.org/install.html 不知道什么原因打不开pypi 的网站  http://pypi.python.org/pypi/setuptool ...

  9. 【socket】TCP 和 UDP 在socket编程中的区别

    一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UD ...

  10. IIS7 无法访问请求的页面,因为该页的相关配置数据无效

    HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. 解决方案: C:\Windows\Microsoft.NET\Frame ...