上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页
  2013年6月7日
摘要: 头文件包含错误 将《Windows程序设计(第5班)珍藏版》第40页的“HELLOWI N.C”程序在VC++6.0中运行,出现如下运行错误:error LNK2001: unresolved external symbol __imp__PlaySoundA@12在CSDN论坛与错误相同标题的帖子#2找到答案,但是,将如下头文件包含进程序后#include <mmsystem.h> #pragma comment(lib, "winmm.lib") 又出现如下编译错误:error C2146: syntax error : missing ';' 阅读全文
posted @ 2013-06-07 16:52 毋忆典藏 阅读(563) 评论(0) 推荐(0)
摘要: 消息说明触发事件WM_CREATEWM_PAINTWM_DESTROY一个非常重要的消息。表明Windows正处在依照用户的命令销毁窗口的过程中。用户单击【关闭】按钮或从程序的系统菜单中选择【关闭】WM_QUIT所有非WM_QUIT消息,GetMessage函数豆浆返回非0值,而对WM_QUIT消息,GetMessage将返回0.这样,如果GetMessage获取到的消息是WM_QUIT,便会退出消息循环函数(语句)PostQuitMessage(0);的功能是讲一个WM_QUIT消息插入到程序的消息队列中WM_SIZE详见博《Windows程序中什么事件发生时,窗口过程会收到一条WM_SIZ 阅读全文
posted @ 2013-06-07 14:57 毋忆典藏 阅读(139) 评论(0) 推荐(0)
摘要: 1.静态变量不管是全局的还是局部的,都被线程共享,因为它们位于进程的数据内存空间(这一点在形式上类似于类的静态数据成员)。2.而在函数中的自动变量总是局部的,因为它们占据堆栈空间,而每个线程都有它自己的堆栈,所以对每个线程而言,它们是独立的。(外加一句932页内容:静态变量是所有线程共享的。另外还有一种情况TLS,后续会讲到)3.为了帮助协调线程活动,操作系统需要各种形式的同步。其中有一种叫信号灯(Semaphore),能让程序员在代码的某一特定点上,暂停线程的执行直到另一个线程发信号让它继续。4.跟信号灯相似的还有临界区(Critical Section),它们指的是不能被中断的代码段。5. 阅读全文
posted @ 2013-06-07 10:55 毋忆典藏 阅读(156) 评论(0) 推荐(0)
  2013年6月3日
摘要: while (GetMessage (&msg, NULL, 0, 0)){ TranslateMessage (&msg) ; DispatchMessage (&msg) ;}这是WinMain函数中典型的消息循环。GetMessage函数从消息队列中取出下一条消息,填入msg结构字段。DispatchMessage函数调用此窗口的消息过程。 在这两个函数之间是Translate函数,它负责把击键消息转换为字符消息。 ——以上内容摘自《Windows程序设计》189页______________________________________... 阅读全文
posted @ 2013-06-03 18:22 毋忆典藏 阅读(235) 评论(0) 推荐(0)
摘要: 在看MSDN的时候,例如:Scroll Bar类别下,包含“Overviews”、“Functions”、“Messages”、“Notifications”、“Structures”,“Constants”这六项列表,这其中,“Messages”和“Notifications”被分成两类,以“WM_VSCROLL”为例,它没分在“Notifications”这一项中,但是,点击链接打开页面后发现,是以这样的形式出现——WM_VSCROLL message,包括在《Windows程序设计》中也是以“消息”统称的,所以,消息和通知用的比较乱,有必要收集一些醒目的用法和特点加以区分:区别主题M.. 阅读全文
posted @ 2013-06-03 14:16 毋忆典藏 阅读(428) 评论(0) 推荐(0)
  2013年6月2日
摘要: 消息机制是Windows编程的一个重要知识点,其中消息是一种数据结构,参考《Windows程序设计(第5版)》第53页,其结构如下:typedef struct tagMSG { HWND hwnd ; UINT message ; WPARAM wParam ; LPARAM lParam ; DWORD time ; POINT pt ;}MSG, * PMSG ;其中,hwnd,message,time,pt四个参数意思单一,不需要过多解释,但wParam和lParam两个32位“消息参数”的含义就取决于具体的消息,根据消息... 阅读全文
posted @ 2013-06-02 22:14 毋忆典藏 阅读(492) 评论(0) 推荐(0)
  2013年6月1日
摘要: MSDN Library Online内容太多,如果不是直接搜索,按照它的树形菜单一级一级找某一个函数的话,需要好多步骤,下面以逐级查找“GDI”函数“GetTextMetrics”的形式,备忘MSDN的一种使用方法:步骤示例: ①打开“Windows GDI”链接: ②在树形子目录中点击“Fonts and Text”,转到 ③在树形子目录中点击“Font and Text Reference”,转到 ④在树形子目录中点击“Font and Text Functions”进行完如上步骤,便到了一个函数列表,函数很丰富。常用链接 API Windows API的根目录链接为(百... 阅读全文
posted @ 2013-06-01 22:28 毋忆典藏 阅读(322) 评论(0) 推荐(0)
摘要: 纸质书籍更符合阅读习惯,阅读起来也有缺点,假设看到了200页时想到了之前某个阅读过的相关知识点,想回去再看一下,或者统计归类一下相关知识点,这时候一页页翻回去显然不可取,如果此时有电子版的书籍,那检索起来就很方便。特别是类似于《Windows程序设计》这种技术类的书籍,不管电子书是中文版还是英文版,都可以搜索,因为其中的术语都是英文,没有翻译,例如:wParam。这样,搜索起来就方便很多。 例如在看《Windows程序设计》中文版95页代码的时候,想起之前讲到过WM_VSCROLL的相关参数wParam的一些知识点,就可以在电子版搜索wParam,找到87页有如下一段讲述: When ... 阅读全文
posted @ 2013-06-01 15:12 毋忆典藏 阅读(209) 评论(0) 推荐(0)
摘要: 1.当WinMain函数调用CreateWindow时,窗口过程收到WM_CREATE消息,而第一条WM_SIZE消息就发生在那之后(准确的说是WinMain调用ShowWindow函数时)【相关应用汇总:因此①可以在窗口过程的WM_SIZE处理中获取字体的高度和宽度;②可以获取窗口(客户区)的宽度和高度(59页和81页有WM_SIZE相应lParam变量的解释);③可以对滚动条进行诸如SetScrollInfo的初始化工作】。 ——《Windows程序设计》82页 另:在许多Windows程序这个I报告,WM_SIZE消息后经常会有一个WM_PAINT消息。因为定义窗口类时,通常指定了... 阅读全文
posted @ 2013-06-01 13:33 毋忆典藏 阅读(464) 评论(0) 推荐(0)
摘要: 《Windows程序设计》第88页有一个API函数调用(另外,对这页的程序——“加入滚动条的SYSMETS”,这个链接给出了很好的注释和运行截图,值得一看:http://blog.csdn.net/sergery/article/details/8029796 ):SetScrollPos (hwnd, SB_VERT, iVscrollPos, TRUE) ;其中,iVscrollPos是窗口过程WndProc中定义的一个static变量,没有给初始值,使用的是默认初始化规则,于是就将相关规则找出来复习一下,摘要如下: 1.static 局部对象确保不迟于在程序执行流程第一次经过该... 阅读全文
posted @ 2013-06-01 09:58 毋忆典藏 阅读(1340) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页