本文转自:http://blog.csdn.net/ljt350740378/article/details/6437113

创建一个完整的窗口需要经过下面四个操作步骤:

设计一个窗口类;

注册窗口类;

创建窗口;

显示及更新窗口。

创建一个WIN32 Application的程序,代码如下:

#include <windows.h>

#include <stdio.h>

LRESULT CALLBACK WinSunProc(

HWND hwnd,      // handle to window

UINT uMsg,      // message identifier

WPARAM wParam, // first message parameter

LPARAM lParam   // second message parameter

);

int WINAPI WinMain(

HINSTANCE hInstance,      // handle to current instance

HINSTANCE hPrevInstance, // handle to previous instance

LPSTR lpCmdLine,          // command line

int nCmdShow              // show state

)

{

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=WinSunProc;

wndcls.lpszClassName="Weixin2003";

wndcls.lpszMenuName=NULL;

wndcls.style=CS_HREDRAW | CS_VREDRAW;

RegisterClass(&wndcls);

HWND hwnd;

hwnd=CreateWindow("Weixin2003","北京维新科学技术培训中心",WS_OVERLAPPEDWINDOW,

0,0,600,400,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 WinSunProc(

HWND hwnd,      // handle to window

UINT uMsg,      // message identifier

WPARAM wParam, // first message parameter

LPARAM lParam   // second message parameter

)

{

switch(uMsg)

{

case WM_CHAR:

char szChar[20];

sprintf(szChar,"char is %d",wParam);

MessageBox(hwnd,szChar,"weixin",0);

break;

case WM_LBUTTONDOWN:

MessageBox(hwnd,"mouse clicked","weixin",0);

HDC hdc;

hdc=GetDC(hwnd);

TextOut(hdc,0,50,"计算机编程语言培训",strlen("计算机编程语言培训"));

ReleaseDC(hwnd,hdc);

break;

case WM_PAINT:

HDC hDC;

PAINTSTRUCT ps;

hDC=BeginPaint(hwnd,&ps);

TextOut(hDC,0,0,"维新培训",strlen("维新培训"));

EndPaint(hwnd,&ps);

break;

case WM_CLOSE:

if(IDYES==MessageBox(hwnd,"是否真的结束?","weixin",MB_YESNO))

{

DestroyWindow(hwnd);

}

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

return DefWindowProc(hwnd,uMsg,wParam,lParam);

}

return 0;

}

[转]孙鑫VC教程例子代码1---Windows程序内部运行原理相关推荐

  1. VC++学习(1):Windows程序内部运行原理

    Windows应用程序,操作系统,计算机硬件之间的相互关系 关于API:向下的箭头③表示应用程序可以通知操作系统执行某个具体的动作,如操作系统能够控制声卡发出声音,但它并不知道应该何时发出何种声音,需 ...

  2. 孙鑫VC++LESSON1:Windows程序内部运行原理

    视频链接:https://www.bilibili.com/video/BV1Ts411f7fw/?spm_id_from=333.337.search-card.all.click&vd_s ...

  3. 孙鑫VC++学习笔记(转载至程序员之家--虎非龙)[11--15] .

    第11课 1.创建4个菜单,为其添加消息响应,用成员变量保存绘画类型.添加LButtonDown和Up消息. 2.当窗口重绘时,如果想再显示原先画的数据,则需要保存数据.为此创建一个新类来记录绘画类型 ...

  4. 孙鑫VC++学习笔记(转载至程序员之家--虎非龙)[11--15]

    第11课 1.创建4个菜单,为其添加消息响应,用成员变量保存绘画类型.添加LButtonDown和Up消息. 2.当窗口重绘时,如果想再显示原先画的数据,则需要保存数据.为此创建一个新类来记录绘画类型 ...

  5. 孙鑫-MFC笔记一--Windows程序内部运行机制

    对于一个初学者来说,常常会用到各种库函数,例如printf等等,这些库函数是由你所使用的编译器厂商提供的,在Windows操作系统下,开发的应用程序, 也有这样的库函数,不同的是,这样的库函数,是有w ...

  6. VC++的学习(基于VS2008)——windows程序内部运行机制

    昨天和今天都在学习windows程序的内部运行机制,再次学习这一章,我明显感到条理清晰了,原来这一章是讲我们所用的电脑,这样一个windows平台下程序运行的内部机制的.windows应用程序下最重要 ...

  7. 《VC++深入详解》学习笔记 第一章 Windows程序内部运行机制

    (金光鳞闪影若茫) 窗口四步走: 设计窗口类 注册窗口类 创建窗口 显示更新窗口 最后创建消息循环和响应函数 设计窗口类: typedef struct {UINT style;//窗口类型 WNDP ...

  8. 孙鑫VC++深入详解第一章学习笔记

    第一章 Windows程序内部运行机制 1.1 API和SDK API:Windows操作系统提供给应用程序编程的接口. SDK(软件开发包):用于开发的所有资源的集合. 1.2 窗口和句柄 窗口 句 ...

  9. 孙鑫VC学习系列教程

    教程简介 1.循序渐进 从Win32SDK编程开始讲解,帮助大家理解掌握Windows编程的核心 -- 消息循环机制. 2.通俗易懂 编程语言枯燥难懂,然而通过孙鑫老师形象化的讲解,Windows和M ...

最新文章

  1. Nutch之初体验(1)
  2. Linux下rz命令和sz命令使用方法
  3. 【css】行高的计算
  4. MySQL(1)数据库介绍,配置MySQL的tab补全
  5. jQuery教程09-子元素筛选选择器
  6. 寒江的网站基本优化观点
  7. IDEA安装jclasslib
  8. Xcode Message from debugger: Terminated due to memory issue
  9. 6.Celeste Headlee: 10 ways to have a better conversation | TED Talk
  10. “非著名相声演员”郭德纲【ZZ】
  11. Linux学习笔记精华总结(选自鸟哥的Linux私房菜)
  12. 基于面板数据的熵值法介绍与实现
  13. Cesium场景泛光
  14. python乘法口诀倒序_利用Python的For控制流输出乘法口诀
  15. Vscode——调整左侧菜单字体大小
  16. cglib之Enhancer
  17. wd移动硬盘插电脑没反应_西部数据移动硬盘插电脑上不显示?
  18. proteus教程——出租车行驶里程计数
  19. x265中计算RD Cost的几种方式
  20. 致命的效率:漫谈RSS阅读器效率

热门文章

  1. org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)
  2. setcookie无效
  3. [转发]R语言数据挖掘实践——使用party包构建决策树
  4. 一文读懂word embedding
  5. jsp:include page= /路径
  6. mac操作系统自带的文本编辑软件
  7. C# ListT用法
  8. 数据挖掘原理与算法:练习题1
  9. 《JAVA练习题目10》请对图书馆系统中的CatalogItem类、Book类和Recording类进行改造,实现其code属性的自动编码。
  10. 丰田chr优惠5万_精打细算还是英朗划算,优惠5万入手英朗,落地8.8万买贵了吗...