WINDOWS编程笔记 2012.2.7

操作系统感知事件和传递事件是通过消息机制来实现的
typedef struct tagMSG{
    HWND hwnd;  //窗口的句柄
    UINT message;
    WPARAM wParam; //信息的附加参数
    LPARAM lParam;
    DWORD time; //消息传递的时间
    POINT pt;   //消息投递的时候,光标的位置
}

句柄,资源的标识。操作系统要操作和管理这些资源都是通过句柄来找到对应的资源。按资源的类型,又可以将句柄细分成图标句柄(HICON)光标句柄(HCURSOR)窗口句柄(HWND)程序实例句柄(HINSTANCE)

UINT,unsigned int
为什么要起这么多变量名(都是int型),为了区分变量的用途

WORD是十六位的整数DWORD是32位的整数

windows程序的入口函数
int WINAPI WinMain(
    HINSTANCE bInstance, //程序实例
    HINSTANCE bPrevInstance,//之前的程序实例,在win32下总是为空
    LPSTR lpCmdLine,//LP long point STR字符串,命令行参数
    int CmdShow        //程序显示状态
)

typedef struct _WNDCLASS{
    UINT         style;
    WNDPROC     lpfnWndProc;//窗口过程
    int         cbClsExtra;//类的额外数据
    int            cbWndExtra;//窗口的额外数据
    HINSTANCE    hInstance;
    HICON        hIcon;   //图标
    HCURSOR        hCursor;  //光标
    HBRUSH        hbrBackground;//画刷,背景
    LPCTSTR        lpszMenuName;// long point const string
    LPCTSTR        lpszClassName;
}WNDCLASS,*PWNDCLASS;

HWND CreatWindow(
    LPCTSTR lpClassName,//类的名字,要注册过的
    LPCTSTR lpWindowName,//窗口标题
    DWORD dwStyle,        //窗口的类型
    int x,                //窗口的水平坐标,horizontal
    int y,                //窗口的垂直坐标,vertical,左上角的坐标
    int nWidth,
    int nHeight,        //窗口的宽度和高度
    HWND hWndParent,    //父窗口的句柄
    HMENU hMenu,        //菜单句柄
    HINSTANCE hInstance,
    LPVOID lpParam        //单文档用不上
)

BOOL ShowWindow( 
    HWND hWnd,  //窗口的句柄
    int nCmdShow //显示的状态
)

UpdateWindow(hwnd);//更新窗口

//从消息队列中获得一个消息
BOOL GetMessage(
    LPMSG lpMsg,    //消息结构体的指针
    HWND hWnd,        //消息所在的窗口句柄,NULL时此线程的所有窗口
    UINT wMsgFilterMin,
    UINT wMsgFilterMax//消息范围,都为0的时候没有消息过滤
)

TranslateMessage(&msg);//将WM_KeyDown 和 WM_KeyUp转换成WM_Char消息
DispatchMessage(&msg);//将收到的消息传到窗口的回调函数中

1:24:13

转载于:https://www.cnblogs.com/zhijzan/archive/2012/02/07/2342086.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/377779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 邮件验证_PHP程序来验证电子邮件地址

php 邮件验证Suppose there is a form floating where every user has to fill his/her email ID. It might happen that due to typing error or any other problem user doesnt fill his/her mail ID correctly. Then at that point, the program should be such that it sho…

【C++grammar】结构化绑定

目录定义1、用于原生数组的结构化绑定声明2、用于std::array的结构化绑定声明3、用于对象数据成员的结构化绑定声明定义 结构化绑定声明是一个声明语句,意味着声明了一些标识符并对标识符做了初始化。将指定的一些名字绑定到初始化器的子对象或者元素上。 对于初始…

URAL 1106 Two Teams (DFS)

题意 小组里有N个人,每个人都有一个或多个朋友在小组里。将小组分成两个队伍,每个队伍的任意一个成员都有至少一个朋友在另一个队伍。 思路 一开始觉得和前几天做过的一道2-sat(每个队伍任意两个成员都必须互相认识)相似然后就往那…

七、逻辑回归项目实战---音乐分类器

一、项目需求 训练集数据为六类音乐([“classical”, “jazz”, “country”, “pop”, “rock”, “metal”]),格式为.wav,每类音乐都有100首 音乐分类器项目,主要运用到了傅里叶变换函数 很多东西越在高维空间处理起来就会变得越是简单 例…

仿京东左侧栏目导航

效果图&#xff1a; 查看效果&#xff1a;http://www.miiceic.org.cn/eg/eg10/abzc.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http:…

python创建矩阵_在Python中创建矩阵的Python程序

python创建矩阵There is no specific data type in Python to create a matrix, we can use list of list to create a matrix. Python中没有特定的数据类型来创建矩阵&#xff0c;我们可以使用list列表来创建矩阵 。 Consider the below example, 考虑下面的示例&#xff0c;…

函数定义

//表达式定义函数 var squarefunction(x){return x*x;}//只有变量声明(var square;)提前了&#xff0c;初始化代码仍然在原处。 //函数声明语句 function f(x){return x*x;}//整个函数体被显式的“提前”到了脚本或函数的顶部。 //因此他们在整个脚本和函数内都是可见的。此种方…

leetcode 491. 递增子序列 思考分析

题目 给定一个整型数组, 你的任务是找到所有该数组的递增子序列&#xff0c;递增子序列的长度至少是2。 说明: 给定数组的长度不会超过15。 数组中的整数范围是 [-100,100]。 给定数组中可能包含重复数字&#xff0c;相等的数字应该被视为递增的一种情况。 思考 这一题和le…

八、神经网络

一、为啥要有神经网络&#xff1f; 在前面的几篇博客中&#xff0c;很容易知道我们处理的都是线性的数据&#xff0c;例如&#xff1a;线性回归和逻辑回归&#xff0c;都是线性的算法 但是&#xff0c;实际上日常生活中所遇到的数据或者问题绝大多数还是非线性的 一般面对非线…

scale up 和 scale out

目前在调研sheepdog的时候&#xff0c;看到scale up和scale out的术语&#xff0c;理解了一下&#xff1a; 这两个词汇均是存储系统方面的概念 scale up: 纵向扩展 购买更大的存储&#xff0c;迁移原有数据到大的存储中 &#xff08;添加新一个新的机器&#xff09; scale out…

icse ccf_ICSE的完整形式是什么?

icse ccfICSE&#xff1a;印度中学教育证书 (ICSE: Indian Certificate of Secondary Education) ICSE is an abbreviation of the Indian Certificate of Secondary Education (ICSE). It is an educational board of the school in India for class 10th which is private an…

Delphi XE2 之 FireMonkey 入门(18) - TLang(多语言切换的实现)

一个小小的 TLang 类, 实现多语言切换, 挺好的. 它的工作思路是:1、首先通过 AddLang(语言代码) 添加语言类别, 如: AddLang(en)、AddLang(cn).2、每个语言代码对应一个 TStrings 列表, 获取方式如: LangStr[en]、LangStr[cn].3、可以手动填充这些数据、可以通过 LoadFromFile(…

leetcode 46. 全排列 思考分析

目录1、题目2、思考3、优化1、题目 给定一个 没有重复 数字的序列&#xff0c;返回其所有可能的全排列。 2、思考 老规矩&#xff0c;先画出给出的例子的解空间树&#xff1a; 观察我们可以发现&#xff1a; 1、深度向下一层深入时&#xff0c;出现过的元素不能再出现&…

Arduino UNO R3开发板+MQ-2烟雾浓度传感器+火焰传感器+舵机+无源蜂鸣器+风扇+步进电机+WIFI模块+RGB三色LED灯+SIM900A所构成的室内安全报警模块

该系统模块主要由Arduino UNO R3开发板MQ-2烟雾浓度传感器火焰传感器舵机无源蜂鸣器风扇步进电机WIFI模块RGB三色LED灯SIM900A所组成&#xff0c;MQ-2烟雾浓度传感器达到不同的阈值的时候&#xff0c;LED灯会通过不同的颜色来进行警示。烟雾浓度增大&#xff0c;LED灯依次显示绿…

highcharts中series带参数的赋值问题

需要得到的代码如下&#xff1a; series: [{name: 棒号1,data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}, {name: 棒号2,data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]}, {name: 棒号3,data: [-0.9, 0.6, 3.5, …

可编程ic卡 通用吗_8255可编程IC

可编程ic卡 通用吗Introduction 介绍 An 8255 programmable integrated circuit (IC) is an IC used for interfacing the microprocessor with the peripheral devices. It is a 40 pin IC which was introduced by INTEL to use with its 8085 and 8086 microprocessors. 82…

POJ 1944 Fiber Communications (枚举 + 并查集 OR 线段树)

题意 在一个有N&#xff08;1 ≤ N ≤ 1,000&#xff09;个点环形图上有P&#xff08;1 ≤ P ≤ 10,000&#xff09;对点需要连接。连接只能连接环上相邻的点。问至少需要连接几条边。 思路 突破点在于最后的结果一定不是一个环&#xff01;所以我们枚举断边&#xff0c;则对于…

九、逻辑回归多分类和softmax多分类

一、逻辑回归多分类 假设激活函数使用的是sigmoid函数 逻辑回归多分类其实是多个二分类而已&#xff0c;若求三分类问题需要对训练的数据样本进行适当的修改调整即可&#xff0c;如何修改样本数据可以参考逻辑回归二分类和多分类本质区别&#xff0c;内容都一样&#xff0c…

【C++grammar】继承与构造test1代码附录

目录1、main.cpp2、circle.cpp3、circle.h4、rectangle.cpp5、rectangle.h6、Shape.h1、main.cpp #include <iostream> #include <string> #include "Shape.h" #include "circle.h" #include "rectangle.h"//创建Shape/Circle/Rect…

hdu 4747 mex 线段树+思维

http://acm.hdu.edu.cn/showproblem.php?pid4747 题意&#xff1a; 我们定义mex(l,r)表示一个序列a[l]....a[r]中没有出现过得最小的非负整数&#xff0c; 然后我们给出一个长度为n的序列&#xff0c;求他所有的连续的子序列的mex(l,r)的和。 思路&#xff1a; 首先因为n的最大…