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