《windows程序设计》学习_2.1:初识消息
- #include <windows.h>
- //#define WM_MYMSG (WM_USER +100)
- LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
- PSTR szCmdLine, int iCmdShow)
- {
- static TCHAR szAppName[] = TEXT ("HelloWin");
- HWND hwnd;
- MSG msg;
- WNDCLASS wndclass;
- wndclass.style = CS_HREDRAW | CS_VREDRAW ;
- wndclass.lpfnWndProc = WndProc ;
- wndclass.cbClsExtra = ;
- wndclass.cbWndExtra = ;
- wndclass.hInstance = hInstance ;
- wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION) ;
- wndclass.hCursor = LoadCursor(NULL,IDC_ARROW) ;
- wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH) ;
- wndclass.lpszMenuName = NULL ;
- wndclass.lpszClassName = szAppName ;
- if(!RegisterClass(&wndclass))
- {
- MessageBox(NULL, TEXT("This program requires Windows NT!"),
- szAppName, MB_ICONERROR);
- return ;
- }
- hwnd = CreateWindow(szAppName,
- TEXT("The Hello Program"),
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- NULL,
- NULL,
- hInstance,
- NULL);
- ShowWindow(hwnd , iCmdShow);
- UpdateWindow(hwnd);
- while(GetMessage (&msg, NULL, , ))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- return msg.wParam;
- }
- LRESULT CALLBACK WndProc(HWND hwnd , UINT message , WPARAM wParam , LPARAM lParam)
- {
- HDC hdc;
- PAINTSTRUCT ps;
- RECT rect;
- switch(message)
- {
- case WM_CREATE:
- // PlaySound (TEXT ("123.wav"), NULL , SND_FILENAME |SND_ASYNC);
- return ;
- case WM_PAINT:
- hdc = BeginPaint(hwnd , &ps);
- GetClientRect(hwnd, &rect);
- DrawText(hdc , TEXT("Hello Windows 98!") , - ,&rect ,
- DT_SINGLELINE | DT_CENTER | DT_VCENTER);
- EndPaint(hwnd,&ps);
- // PlaySound (TEXT ("123.wav"), NULL , SND_FILENAME |SND_ASYNC);
- return ;
- /*
- case WM_MYMSG:
- PlaySound (TEXT ("123.wav"), NULL , SND_FILENAME |SND_ASYNC);
- return 0; //自定义消息
- */
- case WM_LBUTTONDOWN:
- // PlaySound (TEXT ("123.wav"), NULL , SND_FILENAME |SND_ASYNC);
- // InvalidateRect(hwnd, NULL , FALSE);
- // SendMessage(hwnd , WM_MYMSG , wParam , lParam);
- return ;
- case WM_DESTROY:
- // PlaySound (TEXT ("123.wav"), NULL , SND_FILENAME |SND_ASYNC);
- PostQuitMessage();
- return ;
- }
- return DefWindowProc(hwnd,message,wParam,lParam);
- }
《windows程序设计》学习_2.1:初识消息的更多相关文章
- Windows程序设计学习笔记(一)Windows内存管理初步
学习Windows程序设计也有一些时间了,为了记录自己的学习成果,以便以后查看,我希望自己能够坚持写下一系列的学习心得,对自己学习的内容进行总结,同时与大家交流.因为刚学习所以可能有的地方写不不正确, ...
- Windows程序设计学习笔记(1):一个简单的windows程序
<Windows程序设计>(第五版)(美Charles Petzold著) #include<windows.h> LRESULT CALLBACK WndProc(HWND, ...
- Windows程序设计学习笔记(五)——菜单资源和加速键的使用
菜单可能是Windows提供的统一用户界面中最重要的一种方式,菜单通常在标题栏的下一行显示,这一栏叫做菜单栏,菜单栏中的每一项称之为菜单项,菜单栏中的每一个菜单项在激活时会显现一个下拉菜单(也可以说是 ...
- Windows程序设计学习笔记(四)自绘控件与贴图的实现
Windows系统提供大量的控件供我们使用,但是系统提供的控件样式都是统一的,不管什么东西看久了自然会厌烦,为了使界面更加美观,添加一些新的东西我们需要自己绘制控件. 控件在默认情况下并不进行自绘,如 ...
- windows程序设计学习笔记(一)
windows里的变量类型 1.简单重定义windows变量 BOOL (TRUE FALSE) INT UINT(32位,4字节) LONG DWORD(32位,4字节) lParam,wParam ...
- Windows程序设计(第五版)学习:第三章 窗口与消息
第三章 窗口与消息 1,windows窗口过程:应用程序所创建的每一个窗口都有一个与之关联的窗口过程,用于处理传递给窗口的消息. 2,窗口依据窗口类来创建.窗口类标识了用于处理传递给窗口的消息 ...
- 《Windows程序设计第5版》学习进度备忘
书签:另外跳过的内容有待跟进 __________________学习资源: <Windows程序设计第5版珍藏版> __________________知识基础支持: _________ ...
- 《windows程序设计》学习_4.1:计时器(可用于扫雷)
为了做一个逼真的扫雷,我的扫雷程序的位图都是从windowsXP下面的扫雷里来的.具体是怎么获取位图的呢?win8.1不给力,习惯了vc++6.0,所以虚拟机里装上了xp,用vc++6.0加载扫雷程序 ...
- WPF学习之路初识
WPF学习之路初识 WPF 介绍 .NET Framework 4 .NET Framework 3.5 .NET Framework 3.0 Windows Presentation Found ...
- Windows 程序设计
一.Win32 API /******************************************************************** created: 2014/04/1 ...
随机推荐
- iOS定位与地图
定位: 手机上定位的实现主要有三种方式:基站(附近基站的位置),wifi(所连接路由器的位置),卫星(最准确,也最耗能). iOS的定位功能主要是由CLLocationManager类来完成的.这个类 ...
- Swift 函数和类
函数: func sayHello(personName:String,z:Int)->{ return "hello"+personName+z } print(sayHe ...
- virtualbox 虚拟机网络设置
1.宿主机网卡设置 virtualbox 第一块网卡设置 virtualbox第二块网卡设置 2.虚拟机网络设置 找到以上设置中MAC地址对应的那个网卡: 配置网络: 重启网络,ok.
- ADO.NET入门
什么是ADO.NET ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO下的类用类操作文件一样, System.Data.这组类是用来操作数据库(不光是MS ...
- 10.java.lang.FileNotFoundException
java.lang.FileNotFoundException 文件未找到异常 当程序试图打开一个不存在的文件进行读写时将会引发该异常.该异常由FileInputStream,FileOutputSt ...
- 立体像对DEM提取
版权声明:本教程涉及到的数据仅练习使用,禁止用于商业用途. 目录 1.概述 2.详细操作步骤 第一步:输入立体像对 第二步:定义地面控制点 第三步:定义连接点 第四步:设定DEM提取参数 第五步:输出 ...
- Exchange Web Service 获取邮件的附件并保存到本地的示例代码
private static void DownLoadMailAttachments(ExchangeService service, ItemId itemId) { EmailMessage m ...
- 几家SIEM
HP Arcsight Imperva is a HP Business Partner. HP is the world's largest IT company, providing infras ...
- SendMessage基本认识
SendMessage基本认识 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.而函数PostMessage不同,将一个消息寄送到一个线 ...
- Android Studio设置自动编译工程