
-------1.2 MFC类的使用心得
启舰
今天就是未来,没有人能代替你奋斗!自己造的船,终有一天它会扬帆远航!
展开
-
typedef void * POINTER_64 PVOID64中,POINTER_64没有定义
这是VS2005和VS2008中常见的一个错误在头文件中,typedef void * POINTER_64 PVOID64编译器通知我们POINTER_64没有定义。搜索后,发现定义在VC2005安装目录下的baseTsd.h文件中。可能由于某种原因那部分代码没有被执行到解决办法:在错行之前添加#define POINTER_64 __ptr64即:#def原创 2012-06-18 21:04:16 · 4509 阅读 · 0 评论 -
DataGrid方法标注
在VS2010中无法增加了CColumn和Ccolumns类解决方案,方案名->右击->添加类->ActiveX控件中的MFC类->添加弹出了“从ActiveX控件添加类向导,然后选择”文件“->位置处填写你所添加的控件的.Ocx文件(C:\WINDOWS\system32\MSDATGRD.OCX),在这里我只是添加了CColumn 和CColumns 两个类。注意:用这种方法添加的原创 2012-06-18 19:35:27 · 6222 阅读 · 10 评论 -
子窗口中设置控件的位置
CWnd *pWnd;pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT1为控件ID号pWnd-> SetWindowPos ( NULL,X,Y,CX,CY,TRUE); //在窗口左上角显示一个宽100、高100的编辑控件 BOOL SetWindowPos ( const CWnd* pWndInsertAfter, int原创 2012-06-18 20:13:30 · 4577 阅读 · 0 评论 -
放大对话框时,改变按钮的位置(EasySize.h使用方法)
设创建的对话框的类名是CMyDlg,具体过程如下:步骤一:把easysize.h拷贝到CMyDlg项目文件夹中,同时在CMyDlg的.h文件和.cpp文件中加入#include "easysize.h";步骤二:在CMyDlg类的h文件中,加入DECLARE_EASYSIZE,注意结尾处不要加“;”。class CMyDlg : public CDialog{原创 2012-06-18 20:22:08 · 4315 阅读 · 1 评论 -
VC DataGrid使用问题,在其它电脑上,应用数据程序弹出“未成功配置,应用程序无法启动”
主要原因是因为DataGrid控件在使用前得先注册下载 msdatgrd.ocx放到终端机的system32目录下,有些终端机上已经存在,却仍然出现这种问题。说明只是注册不成功,通过 CMD命令 Regsvr32 msdatgrd.ocx 注册成功后,再测试一切OK。原创 2012-06-18 19:38:22 · 1919 阅读 · 0 评论 -
CArray,CStringArray的使用
1、CStringArray在使用时,要先CStringArray.SetSize(0,1),进行初始化,初始化为这个值是很有意义的,设置递增进度为1,解决了初始分配空间不足时产生的溢出错误,这种错误在查找时很难被想到,设置初始元素个数为0,在用CStringArray.GetCount()获取的直接是数组中现在有多少个数值,会节省很多问题,相反,如果你设置初始元素个数为10,即便你这10个空间里原创 2012-06-18 19:56:47 · 11728 阅读 · 1 评论 -
try{} catch(…){}
以前都是用try{} catch(…){}来捕获C++中一些意想不到的异常,今天看了Winhack的帖子才知道,这种方法在VC中其实是靠不住的。例如下面的代码:try { BYTE* pch ;pch = ( BYTE* )00001234 ; //给予一个非法地址*pch = 6 ; //对非法地址赋值,会造成Access Violation 异常 } catch转载 2012-06-18 19:49:23 · 2506 阅读 · 0 评论 -
,跨类之间变量值的传递
一,获取父窗口中的变量或函数CEpeeWomenDlg*newCpee=(CEpeeWomenDlg*)(m_comboCtrl.GetParent()->GetParent());CString str=newCpee->m_importantStr;其中m_comboCtrl是子窗口中的控件一定要分两行写,写成CStringstr=(CEpeeWomenDlg*)(原创 2012-07-03 21:46:07 · 4441 阅读 · 0 评论 -
CLISTBOX 使用注意事项及多行选择
LISTBOX控件使用起来并不难,但有几点要注意一、初始化listBox控件必须初始化其存储容量,如果不初始化其存储容量,当超出默认分配大小的时候会产生溢出,而这时项目可能已经非常大,甚至经过很长时间才发现,产生的异常很难被定位,所以必须初始化存储容量this->m_excelList.InitStorage(400,10240); //以防处理大件夹,先分配空间二、显示水平滚动原创 2012-06-18 20:02:39 · 4170 阅读 · 0 评论 -
CfileDialog的使用方法与注意事项及多选打开对话框的创建
注意事项:一、 最重要的一点:CfileDialog::DoModal()后会将当前的工作路径改变为打开文档处的路径,所以对于那些用相对路径定位的数据库连接操作或dll导入操作都是致命的,解决的最佳办法是在CfileDialog未创建的时候保存当前的工作路径,在CfileDialog::DoModal()==IDOK后,将工作路径改回来二、原创 2012-07-03 21:57:15 · 5562 阅读 · 1 评论 -
给按钮增加提示框
在dlg.h文件中CToolTipCtrl m_tooltip; OnMouseMove中: m_tooltip.Create(this); m_tooltip.Activate(true); m_tooltip.SetTipBkColor(RGB(0,144,18));m_tooltip.SetTipTextColor(RGB(255,254,255)); m_toolt原创 2012-06-18 20:11:45 · 2595 阅读 · 1 评论 -
_CommandPtr未声明的标识符解决办法
在导入#import "C:\ProgramFiles\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")确定没有写错的情况下,也写了::CoInitialize(NULL);对组件的初始化,但一直提示“_CommandPtr”: 未声明的标识符,这个原因应该是ADO控件没有注册成功的问题,到C:\P原创 2012-06-18 19:34:30 · 6491 阅读 · 0 评论