VC++
emesjx
这个作者很懒,什么都没留下…
展开
-
VC6.0中Invalidate与UpdataWindow的差别
<br />1、Invalidate用于当前视图(窗口)刷新,其作用是,使整个客户区无效,发送WM_PAINT消息(如果是控件则发WM_DRAWITEM消息),由其响应函数OnPaint(或OnDraw)刷新视图内容。有两种调用方式:<br />Invalidate(false);//不抹背景<br />Invalidate()或Invalidate(true);//抹去背景<br />与Invalidate有关联的还有两个函数:InvalidateRect用于刷新矩形区;InvalidateRgn用于刷新原创 2010-12-01 15:48:00 · 4386 阅读 · 2 评论 -
DOS操作系统下PCI板卡访问方法(二)
<br />访问特定的PCI功能设备的配置空间一般分为以下几个步骤:<br />首先,按照端口0xCF8的信息格式,组成相应的配置字,写入端口OxCF8中。然后通过读取端口0xCFC,得到每个功能设备配置空问中相应的寄存器内容。接着,由读出的配置空间中设备ID和制造商ID与指定的功能设备的设备ID和制造商ID相比较。若不匹配则重复进行上述操作直到匹配为止。最后,由获得的相应的总线号、设备号以及功能号,通过读写端口OxCF8和0xCFC就可以访问特定板卡的配置空间了。<br />下面给出一个通过PCI配置寄存转载 2010-12-04 12:22:00 · 4900 阅读 · 1 评论 -
DOS操作系统下PCI板卡访问方法(一)
<br />1 前言<br />当前,随着计算机技术的飞速发展,对于高速、高性能板卡的需求越来越大。曾在工控机中广泛应用的ISA总线逐渐被淘汰。相比之下,PCI总线作为一种高性能的局部总线,具有兼容性好,传输速度高,不受处理器限制以及支持“即插即用”(Plug&Play)等优点,正逐步取代ISA总线而广泛应用于PC机和工控机中。在今后相当长的一段时间内,开发应用基于PCI总线的扩展板卡将显得尤为重要。<br />Windows操作系统和DOS操作系统是目前在工控机中使用较多的两种操作系统,有着各自的优缺点。转载 2010-12-04 12:18:00 · 4309 阅读 · 1 评论 -
WDF驱动中KMDF与UMDF区别
众所周知, 早期的Windows 95/98的设备驱动是VxD(Virtual Device Driver),其中x表示某一类设备。从Windows 2000开始,开发驱动程序必以WDM(Windows Driver Model)为基础的,但是,如果使用DDK来开发WDM,其开发难度之大,根本不能奢望像用户模式应用程序开发那样容易,因此,一般用户都是使用WinDriver、DriverStudio之类的第三方工具。为改善这种局面,从Vista开始,微软推出了新的驱动程序开发环境WDF(Windows Dri原创 2010-10-24 10:44:00 · 10554 阅读 · 0 评论 -
关于CFile类打开文件的默认路径
<br />在编制对话框应用程序时,如果使用CFile类的成员函数“Open” 打开一个文件,在不指定文件的路径时会默认为当前程序的路径,但如果使用了文件打开对话框类CFileDialog并打开过文件的话,再用CFile类的成员函数Open打开文件,其默认路径会变成CFileDialog类打开文件的路径,这是因为CFileDialog类打开文件时修改了系统的默认(缺省)路径,如果不想让CFileDialog类改变默认路径,只要在使用CFileDialog类Open函数时,加上OFN_NOCHANGEDIR属原创 2010-11-12 21:34:00 · 2526 阅读 · 0 评论 -
如何在VC6中申请分配大容量内存
<br />1、最简单、直接的方法是使用C++运算符new,例如:对于分辨率为x*y*8bit的图像,申请分配内存方法:<br />BYTE *pBuf=new BYTE[x*y];<br />用此方法一定要注意,只要pBuf不使用了,就要用delete将其释放掉。<br />2、较复杂的方法是使用API函数GlobalAlloc和LocalAlloc,此方法分配的内存是以“堆”形式提供的,可使用GlobalLock/LocalLock对所申请的内存加锁,释放则使用GlobalFree/LocalFree。原创 2010-11-17 18:00:00 · 5730 阅读 · 1 评论 -
MFC ActiveX控件与ATL ActiveX控件的比较
<br />1、两者均可使用VS IDE中AppWizard来建立框架,前者使用“MFC ActiveX Control Wizard”,后者使用“ATL COM AppWizard”。<br />2、用MFC建立的ActiveX控件的扩展名缺省为“.ocx”;用ATL(活动模板库)建立的扩展名缺省为“.dll”。<br />3、用MFC建立ActiveX控件要简单得多,原因是MFC省去聊很多低级的COM概念,且控件设计中可使用多种MFC类,如CString、 CWnd 、CDC等;用ATL建立Active原创 2010-11-24 18:36:00 · 1634 阅读 · 0 评论 -
MFC的消息反射及其应用技巧
<br />在Windows中有一个改变控件颜色的消息WM_CTLCOLOR,该消息通常由父类窗口(一般是对话框,也可是框架窗口)接收并处理,其响应函数(通常加在CDialog派生类中)为:<br />afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor);<br />由于参数nCtlColor只能识别控件的类别,如编辑控件CTLCOLOR_EDIT,列表框CTLCOLOR_LISTBOX等,也就是说,如果一个对话框中有几个编辑控件,那么其原创 2010-11-25 17:25:00 · 1820 阅读 · 0 评论