![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mfc
huangtaibin
这个作者很懒,什么都没留下…
展开
-
MFC工具栏添加ComboBox控件
1. 添加资源,新加一个ToolBar的资源 IDR_TOOLBAR_SEARCH,并在此工具栏上再加上一个项:取ID为:ID_SEARCH2. 在MainFrm类中加入如下代码:变量:CMFCToolBar m_wndToolBarSearch;方法:CMFCToolBarComboBoxButton *m_comboButton;afx_msg LRESU转载 2015-03-27 11:20:29 · 957 阅读 · 0 评论 -
mfc自定义工具栏如何锁定
最近遇到了一个问题就是在VC中利用osg动态画图的时候,拖动工具栏时程序会卡主,一直在找如何锁定工具栏的问题,最近看到了一个帖子收到了一些启发, 最终实现了我想要的功能,现在来记录一下。 在VS2010下的单文档程序中,工具栏时通过CMFCToolBar来创建的,但你在拖动工具栏之前肯定是要单击工具栏边框,所以我们先来创建一个类,父类为CMFCToolBar,然后再程序中添加OnLButtonDown和OnLButtonDblClk两个函数,然后在这两个函数中判断是否单击了自定义工具栏的边框原创 2015-10-05 19:07:06 · 1392 阅读 · 0 评论 -
mfc中使用组合件消息响应问题
方法1:BOOL CRF_CalibratorDlg::PreTranslateMessage(MSG* pMsg) {// TODO: Add your specialized code here and/or call the base classif(pMsg->message == WM_KEYDOWN){short int statusCtrl=GetKeySta转载 2015-07-22 10:09:33 · 636 阅读 · 0 评论 -
MFC窗口变化消息( OnSize、OnSizing和OnGetMinMaxInfo)
最近用到窗口变化的一些东西,遇到几个相关的消息函数,简要分析,作为备忘。3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理函数:OnSize、OnSizing、OnGetMinMaxInfo。当窗口大小发生变化时,响应的顺序依次是:WM_GETMINMAXINFO-->WM_SIZING-->WM_SIZE。转载 2015-07-21 10:25:56 · 6990 阅读 · 1 评论 -
mfc多线程的挂起和运行问题
最近用VS2010编写的界面程序效率很差,由于这个程序里除了主线程外还另外开了三个线程A、B、C。线程A是成程序开启到结束都是运行状态,线程B、C是在指定情况下开启和关闭的,当我在视图里画图时这需要开启线程B和C,这就导致了线程A、B、C外加主线程四个同时运行导致了绘图的效率低实时性跟不上,界面和卡。后来想了一个办法也是从孙鑫那本书上看到的,就是在我绘图和界面一些其他操作时不需要A(osg线程)线原创 2015-07-11 09:28:47 · 1784 阅读 · 0 评论 -
mfc中弹出“不支持尝试执行的操作”提示
今天在用mfc编程序的时候想实现点击菜单上的子菜单弹出一个对话框,对话框里只有一个ListCtrl控件。最终遍好之后发现单击菜单之后先弹出“不支持尝试执行的操作”警告,单击确定之后还是能弹出对话框,ListCtrl空控件也能正常显示。最后检查发现是ListCtrl控件绑定了错误的ID!!!特此记录一下防止以后遇到同样的问题。原创 2015-07-09 20:07:57 · 4062 阅读 · 1 评论 -
单文档视图内存DC画图时不同的类中获得的设备描述表是不一样的
今天遇到了两个问题个问题:问题1:用VS2010做的是一个单文档多视图的应用程序,以前是在View1中实现的开启线程,自定义工具栏的消息响应,后来发现这些都是两个视图共用的部分所以必须要将所有的代码考到MainFrame类中。考过去之后发现在MainFrame类中调用View1中的函数用内存DC画图时坐标完全对不上。后来发现原先在View1中获得设备描述表时用的是CDC* pDC = Ge原创 2015-05-23 11:10:42 · 513 阅读 · 0 评论 -
注册表编程,程序记忆功能
BCG注册表清除:第一次在CXXXApp::ExitInstance() 加入CleanState(),运行一次接着注释掉,再在OnInitInstance加入m_bSaveState=FALSE估计在BCG控件要写注册表的时候,它自己的写入注册表函数会判断m_bSaveState 1.VC2008集成了BCGControlBar的相关功能,用wizard生成的话如果选与B转载 2015-05-23 19:37:58 · 1588 阅读 · 0 评论 -
在对话框类中如何获得视类和文档类的指针
最近遇到了一个问题在对话框类源文件的函数中来更改文档类和视类中的变量值的问题,总结了一下,解决办法如下:1)添加MainFrame.h,MyDoc.h,MyView.h三个头文件;2)获得相应的指针CAeroNetDoc* pDoc = (CAeroNetDoc*)((CMainFrame *)AfxGetMainWnd())->GetActiveDocument();CAer原创 2015-04-14 19:08:51 · 971 阅读 · 1 评论 -
mfc读文件以及画图及时刷新问题
最近在单文档的工程中画图时遇到读文件之后根据文件内容画图以及不能及时刷新问题原创 2015-03-25 15:44:12 · 1279 阅读 · 0 评论 -
mfc中类中的成员变量的调用问题
最近遇到了一个问题,在VS2010中建立单文档工程,然后里面添加了一个对话框并在对话框上添加了四个按钮,为这四个按钮添加了四个BOOL型的变量,并为他们添加Click消息响应函数,当按下某个按钮时只能有一个对应的BOOL型变量变为TRUE,其它全为FALSE。然后在CView类中调用对话框类中的四个变量进行控制画图操作,奇怪的是我在CView类中定义了对话框类的对象,但是在单击对话框上原创 2015-04-03 15:34:45 · 2132 阅读 · 0 评论 -
mfc中关于画图操作而导致ASSERT(m_hObject == NULL);中断问题
今天在使用mfc画图,界面在重绘时会出现ASSERT(m_hObject == NULL)中断问题,出问题的地方是这两个画刷我是在单文档定义成类的成员变量,public://二维绘图CBrush m_Bkbrush; //二维背景画刷,不能定义成类的成员变量,这样在窗口重绘时会出现Assertion错误CBrush m_Rul原创 2015-03-21 17:31:00 · 2718 阅读 · 0 评论 -
如何在toolbar中添加新的工具条
VC版本不同操作稍有差别,大致如下:资源中新建toolbar资源将Icon中的图标复制过来在新建的toolbar资源中该Icon图标粘贴过来指定新按钮的ID,保存资源,OK转载 2015-03-28 09:03:21 · 365 阅读 · 0 评论 -
高精度数字高程数据1m的dem
最近一直在做一个三维场景的项目,老板一直让我下载高精度的数据,从而构建三维场景,一开始在各种网站上下载如中国科学院镜像站点下载,德国航天局的DLR数字高程数据,美国航天局NASA网站上等一些地方下载,基本上免费的都是精度为30米的,要么就是无法成功下载下来。后来老板花了一点钱在网上买了一个高精度的高程数据,现在根据这个高程数据已经能建立三维立体场景了。这个高精度的高程数据为.tif格式,最近用在里原创 2016-01-05 11:32:08 · 16904 阅读 · 8 评论