2012-08-22 21:29
⁄ 工业·编程
⁄ 共 211字
1. 在调用了 OnOK 或 OnCancel() 函数之后,下面的代码还是可以继续执行。但是不能够再执行与界面相关的代码否则程序会崩溃。
原因:OnOK和OnCancel只是将窗口销毁了,但是对象此时还是存在的。
2. 非模态对话框为何不响应WM_DESTROY的消息
解决办法:
a)可以把OnDestroy函数中的处理放在析构函数中。
b)可以在OnClose中直接调用OnDestroy函数,不过需要关闭时需要发送WM_CLOSE消息。
MFC阅读全文
2012-08-22 21:21
⁄ 工业·编程
⁄ 共 10647字
不能够自动初始化
当我第一次将Rich Edit控件放在资源窗体上的时候,发现程序根本就不能运行。后来才找到原因,原来Rich Edit 控件是Ole类型的控件。在加载Rich Edit 控件的时候,必须进行初始化。代码如下: BOOLCTestApp::InitInstance(){
..... AfxInitRichEdit();
}
不能够接受TAB键
将 RichEdit控件...
MFC阅读全文
2012-08-22 21:16
⁄ 工业·编程
⁄ 共 4648字
我写这篇文章的目的,是为了向大家说说我使用CListCtrl的心得,主要包括两个方面:
将数据写入到CListCtrl;
对CListCtrl中的数据进行排序;
将数据写入到CListCtrl
向CListCtrl中写入数据,一般使用3个成员方法: CListCtrl::InsertColumn; CListCtrl::InsertItem; CListCtrl::SetItemText;
InsertColumn被用于向显示列表中插入显示的列,例如: list.InsertColumn(0,"主项",LVC...
MFC阅读全文
2012-08-19 22:31
⁄ 工业·编程
⁄ 共 4319字
4.取得和设置文件的属性
DWORD GetFileAttributes( LPCTSTR lpFileName //文件或文件夹路经 ); BOOL SetFileAttributes( LPCTSTR lpFileName, // 文件名 DWORD dwFileAttributes // 要设置的属性 ); DWORD GetFileAttributes( LPCTSTR lpFileName //文件或文件夹路经 ); BOOL SetFileAttributes( LPCTSTR lpFileName, // 文件名 DWORD dwFileAttributes // 要设置的属性 ...
MFC, windows_API阅读全文
2012-08-19 22:29
⁄ 工业·编程
⁄ 共 2326字
3.取得和设置文件的创建时间、最后访问时间、最后写时间
BOOL GetFileTime( HANDLE hFile, // 文件句柄 LPFILETIME lpCreationTime, // 创建时间 LPFILETIME lpLastAccessTime, // 最后访问时间 LPFILETIME lpLastWriteTime // 最后写时间 ); BOOL SetFileTime( HANDLE hFile, CONST FILETIME *lpCreationTime, CONST FILETIME *lpLastAccessTime, CONST FILETIME *lpLastWriteTime ...
MFC, windows_API阅读全文
2012-08-19 22:27
⁄ 工业·编程
⁄ 共 3851字
2.文件的读写定位
定位文件中的数据是很重要的,这决定了写入的数据在文件中的位置。
API函数
DWORD SetFilePointer( HANDLE hFile, //文件的句柄 LONG lDistanceToMove, //字节偏移量r PLONG lpDistanceToMoveHigh, //指定一个长整数变量,其中包含了要使用的一个高双字偏移(一般用来操作大型文件)。可设为零,表示只使用lDistanceToMove DWORD dwMoveMethod //文件定位 ); D...
MFC, windows_API阅读全文
2012-08-19 22:20
⁄ 工业·编程
⁄ 共 5739字
在VC编程中,操作文件的方法主要有两种:利用API函数和MFC的CFile类。微软在其中封装了文件的一般操作,下面我就介绍一下如何利用这两种方法实现文件操作。
1.创建或打开一个文件
API函数CreateFile可打开和创建文件、管道、邮槽、通信服务、设备以及控制台,但是在此时只是介绍用这个函数怎么实现创建和打开一个文件。 HANDLE CreateFile( LPCTSTR lpFileName, // 要打开的文件名 DWORD dwD...
MFC, windows_API阅读全文
2012-08-18 11:33
⁄ 工业·编程
⁄ 共 1389字
修改左上角的图标和任务栏里图标
在对话框构造函数中
1 CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/) 2 : CDialog(CTestDlg::IDD, pParent) 3 { 4 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); 5 }
改过后:
1 CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/) 2 : CDialog(CTestDlg::IDD,...
MFC阅读全文
2012-08-17 10:30
⁄ 工业·编程
⁄ 共 2700字
在前面我们分析了控件通知消息WM_NOTIFY,和WM_NOTIFY紧密联系的还有一个MFC新特性:消息反射。本文中,我想就这个问题作一个全面的论述,如果有错误,还望各路大虾批评指正。
什么是消息反射?
在windows里面,子控件经常向父控件发送消息,例如很多子控件要绘制自己的背景,就可能向父窗口发送消息WM_CTLCOLOR。对于从子控件发来的消息,父控件有可能在处理之前,把消息返还给子控件处...
MFC, 消息机制阅读全文
2012-08-17 10:24
⁄ 工业·编程
⁄ 共 7125字
队列消息和非队列消息
从消息的发送途径来看,消息可以分成2种:队列消息和非队列消息。消息队列由可以分成系统消息队列和线程消息队列。系统消息队列由Windows维护,线程消息队列则由每个GUI线程自己进行维护,为避免给non-GUI现成创建消息队列,所有线程产生时并没有消息队列,仅当线程第一次调用GDI函数数系统给线程创建一个消息队列。队列消息送到系统消息队列,然后到线程消息队列;非队列消息直接送给...
MFC, 消息机制阅读全文