01 2014 档案

摘要:一、MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API编程而言,这两种线程是没有区别的,它们都只需线程的启动地址即可启动线程来执行任务。 在MFC中,一般用全局函数AfxBeginThread()来创建并初始化一个线程的运行,该函数有两种重载形式,分别用于创建工作... 阅读全文
posted @ 2014-01-18 17:42 godjob 阅读(4166) 评论(0) 推荐(0) 编辑
摘要:common control 4.7版本介绍了一个新的特性叫做Custom Draw,这个名字显得模糊不清,让人有点摸不着头脑,而且MSDN里也只给出了一些如风的解释和例子,没有谁告诉你你想知道的,和究竟这个特性有什么好处。Custom draw可以被想象成一个轻量级的,容易使用的重绘方法(重绘方法还有几种,例如Owner Draw等)。这种容易来自于我们只需要处理一个消息(NM_CUSTOMDRAW),就可以让Windows为你干活了,你就不用被逼去处理"重绘过程"中所有的脏活了。这篇文章的焦点是如何在一个LISTCTRL控件上使用Custom Draw消息。究其原因,一部分是因为我已经在我 阅读全文
posted @ 2014-01-17 23:36 godjob 阅读(465) 评论(0) 推荐(0) 编辑
摘要:工具栏中包含了一组用于执行命令的按钮,每个按钮都用一个图标来表示。当单击某个按钮时,会产生一个相应的消息,对这个消息的处理就是按钮的功能实现。将菜单中常用的功能放置在工具栏中,这样可以方便用户操作,省去了在级联菜单中一层层查找菜单项的麻烦。 6.2.1工具栏类CToolBar在MFC类库中,CToolBar类封装了工具栏的基本功能,CToolBar类的主要方法如下。(1)Create方法:该方法用于创建工具栏窗口。语法如下:BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP, UINTn 阅读全文
posted @ 2014-01-13 20:43 godjob 阅读(669) 评论(0) 推荐(0) 编辑
摘要:在Win32中自带了一些API函数,它们提供了相当于一般调试器的大多数功能,这些函数统称为Win32调试API(Win32 Debug API)。利用这些API可以做到加载一个程序或捆绑到一个正在运行的程序上以供调试;可以获得被调试的程序的底层信息,例如进程ID、进入地址、映像基 址等;甚至可以对被调试的程序进行任意的修改,包括进程的内存、线程的运行环境等。简而言之,读者可以用这些API写一个进程调试器。就像现在流行的调试器Visual C++调试器、WinDBG、OllyDbg等一样。当然除了能写调试器外,利用调试API还能做很多不同寻常的工作。3.1 Win32调试API原理3.1.1调试 阅读全文
posted @ 2014-01-12 15:51 godjob 阅读(1685) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示