随笔分类 - Windows 编程基础
摘要:关于这个两个函数的详细信息:BOOL GetMessage( LPMSG lpMsg, // 一个MSG的指针 HWND hWnd, // 一般为当前窗口的句柄 UINT wMsgFilterMin, // 指定被检索的最小消息值的整数 UINT wMsgFilterMax // 指定被检索的最大消息值的整数);如果第三,四个参数都为零,则取所有的消息。如果出现错误,比如参数一或参数而指向的指针或句柄无效,则会返回-1.BOOL PeekMessage( LPMSG lpMsg, // 一个MSG的指针 HWND hWnd, // UINT wMsgFilterMin, // U...
阅读全文
摘要:1、在头文件中包括如下:#include "commctrl.h"#pragma comment(lib, "comctl32.lib") //comctl32.lib的简单介绍可以看看或MSDN Windows SDK中的标准控件和通用控件,使用xp样式也必须加入2、在程序开始加入初始化代码如下:InitCommonControls();或INITCOMMONCONTROLSEX InitCtrls;InitCtrls.dwSize = sizeof(InitCtrls);InitCtrls.dwICC = ICC_WIN95_CLASSES;//IC
阅读全文
摘要:Windows标准控件,标准控件总是可用的。控件包括:静态控件、按钮控件、编辑框控件、列表框控件、组合框控件,滚动条等如表所示。Windows标准控件的类型StaticGroup BoxButtonCheck BoxRadio ButtonEditComboBoxListBoxWindows通用控件,可执行代码都在Comctrl32.dll中实现,相关的C++原型声明在commctrl.h列表如下: AnimationComboBoxEx Date_and_Time_Picker Drag_List_Box Flat_Scroll_Bar Header HotKey ImageList IPA
阅读全文
摘要:ANSI中的字符采用8bit,而UNICODE中的字符采用16bit。8bit的ANSI编码只能表示256种字符。UNICODE可表示成千上万个字符。typedef unsigned short wchar_t;例如,如果想要创建一个缓存,用于存放最多为99 个字符的Unicode 字符串和一个结尾为零的字符,可以使用下面这个语句:har_t szBuffer[100];标准的ANSI C 字符串函数和它们的等价Unicode函数char * strcat(char *,const char *);wchar_t * wcscat(wchar_t *,const wchar_t *);char
阅读全文
摘要:一、C++标准异常try{ …… throw <exception-data> ……}catch (<exception-declaration 1>){ ……}catch (<exception-declaration 2>){ ……}try块中的throw会抛出一个数据<exception-data>,比如一个整数,一个字串,或是其他自定义类型的数据。这时,当前程序中止执行,开始查找catch入口。throw抛出的数据类型与catch入口的<exception-declaration>数据类型必须匹配,这一点类似函数调用的形参、实
阅读全文
摘要:在标准C++以前,都是用#include<iostream.h>这样的写法的,因为要包含进来的头文件名就是iostream.h。标准C++引入了名字空间的概念,并把iostream等标准库中的东东封装到了std名字空间中,同时为了不与原来的头文件混淆,规定标准C++使用一套新的头文件,这套头文件的文件名后不加.h扩展名,如iostream、string等等,并且把原来C标准库的头文件也重新命名,如原来的string.h就改成cstring(就是把.h去掉,前面加上字母c),所以头文件包含的写法也就变成了#include <iostream>。 并不是写了#include
阅读全文
摘要:一、C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。 可改用C++下的rand函数来实现。 1、C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数,默认以1为种子(即起始值)。 随机数生成器总是以相同的种子开始,所以形成的伪随机数列也相同,失去了随机意义。(但这样便于程序调试) ...
阅读全文
摘要:在编写国际化的应用程序里,经常要使用不同语言的字符串。比如中文菜单里叫做“文件”,而在英语里叫做“File”。开发这种软件的功能是一样的,只是界面上显示的文字不一样而已。为了方便这种软件的开发,在Windows里经常使用的方法就是替换掉显示的字符串,比如指定在中文里就显示“文件”,在英语里就显示“File”,是通过函数LoadString从不同的资源里加载不同的字符串显示来实现的。其实所有可变的字符串,都可以使用函数LoadString从资源里加载字符串显示。图像的信息是非常方便人们记忆的,像交通信号一样,就是使用各种各样的图标,每个人看了就会明白是什么东西,因此在程序里使用图标来标识程序。只
阅读全文