![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
城域
一起爬山吗?
展开
-
MFC ribbon最小化后恢复界面时刷新异常
问题:编写了一个ribbon的软件,使用了 MDI 框架多文档(CMDIChildWndEx),软件最小化后在任务栏点击软件非活跃子窗口来恢复软件窗口时,界面未刷新。处理方式:在BOOL CxxxxApp::InitInstance()中添加EnableTaskbarInteraction(false);,避开这个问题(其实就是最小化不显示非活跃窗口)。结果:没有解决和找到问题所在转载 2017-07-13 15:38:49 · 685 阅读 · 0 评论 -
Name.GetBuffer()会导致CString::left()不起作用
下列程序Names调用了GetBuffer后,再次调用CString Names; CString Name;GetPrivateProfileString(_T("INIT"),_T("Names"),_T(""),Names.GetBuffer(255),255,FilePath); // 从ini文件获取配置 Names = "张三,李四" StrPos = Nam原创 2017-11-14 17:22:15 · 546 阅读 · 3 评论 -
CMFCRibbonComboBox的GetItemData函数的使用
CMFCRibbonComboBox *ComboBox =DYNAMIC_DOWNCAST( CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBO));int intId = 1;int nIndex = 0;nIndex = ComboBox->AddItem(_T("项1"),intId); // 添加项,...原创 2018-09-21 17:28:24 · 1374 阅读 · 0 评论 -
MFC CScrollView闪烁,移动滚动条重影问题解决;(只移动滚动条,不移动视图)
MFC CScrollView闪烁问题界面刷新的时候,CScrollView会先调用OnEraseBkgnd,将背景色刷新一次后才绘制视图,会造成闪烁问题。解决方式:在CScrollView继承类中,接收ON_WM_ERASEBKGND()消息,然后函数屏蔽背景刷新函数。ON_WM_ERASEBKGND() // 消息BOOL CAView::OnEraseBkgnd(CDC* ...原创 2019-05-25 09:55:26 · 2239 阅读 · 0 评论 -
MFC CScrollView鼠标拖拽移动滚动条出现回滚问题
MFC CScrollView鼠标拖拽移动滚动条出现回滚问题问题分析:逻辑视图较大的时候(10w),使用鼠标拖拽移动滚动条时(单击不会回滚),会在32000左右回滚到0。看到熟悉的32000,应该是在获取滚动条位置时,出现了短字节数据转换到长字节数据时出现的精度丢失问题,通过debug单步调试,发现函数调用层次如下:滚动条位置nPos数据,通过函数一层层的转换和计算后传递到SetScrollP...原创 2019-05-25 16:54:53 · 1323 阅读 · 0 评论