随笔分类 -  MFC

摘要:C语言,用json文件存储tree: 1.读取和保存都用递归算法遍历,可以保存任意树结构,相比用INI文件,一致性更好,当然用数据库功能更多更好2.json数据全部用节点最方便,缺点存储的json文件末端有一个空的{},不太美观3.json文件读入时最好判断编码,尤其是对手工编辑的文件4.json的 阅读全文
posted @ 2025-12-07 15:07 XGZ21 阅读(26) 评论(0) 推荐(0)
摘要:MFC的消息反射,主要是用在 控件的封装和继承 因为控件为了方便使用,要自己处理通知,但是为灵活性,要开放给用户使用。 以MFC VisualStadio 风格的默认界面为例,树节点的双击事件怎么用。 1. 在CViewTree 中处理树节点双击事件的方法:1.1 用类向导或手工加入通知处理,默认是 阅读全文
posted @ 2025-09-29 13:00 XGZ21 阅读(31) 评论(0) 推荐(0)
摘要:#pragma comment(lib,"version.lib") //主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]] //Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]] int G 阅读全文
posted @ 2025-04-04 17:43 XGZ21 阅读(72) 评论(0) 推荐(0)
摘要:UNICODE编译环境: RTF字符串的显示: 如果是CRichEditView,可以直接用SetWindowText,输入的RTF字符串是UNCODE编码。 如果是CRichEditCtrl,可以发消息显示,输入的字符串是UNCODE编码 int CNoteView::SetRTF(TCHAR* 阅读全文
posted @ 2024-09-29 19:24 XGZ21 阅读(91) 评论(0) 推荐(0)
摘要:用了好多年了,才发现这个问题,写个小程序测试了,终于搞明白了: CString str; str = _T("1234567890"); TCHAR *p = str.GetBuffer(100); //TCHAR *p = str.GetBufferSetLength(100);_tcscpy(p 阅读全文
posted @ 2024-09-14 11:49 XGZ21 阅读(93) 评论(0) 推荐(0)
摘要:MFC 编程,添加了一个CMFCToolbar工具条,奇怪的是每次运行工具条的位置都会后移一段距离。 在网上搜了一下,也没找到原因。 今天浏览了一下代码,找到了原因 在框架的OnCreate中开始就创建了新工具条,然后就设置了停靠位置 但是框架默认自带的工具条却在后面,重新计算了位置,结果后移了,把 阅读全文
posted @ 2024-07-22 09:12 XGZ21 阅读(86) 评论(0) 推荐(0)
摘要:学习了一下OTSU算法,写成程序,加深理解。 这个算法是用来计算最优全局阈值的,所以对光照不均问题似乎不适用。按算法的原理,背景灰度有大的梯度时,会被分割成前景和背景。 对背景一致的图片的分割比较好,其实就是图片整体明暗变化时能自动调节阈值。好比白天到黑夜,阈值自动变。 程序如下: // XBMPV 阅读全文
posted @ 2022-07-27 17:04 XGZ21 阅读(120) 评论(0) 推荐(0)
摘要:拿知乎上的一张图练练手,光照是斜对角,全局二值化阈值20,一个角太白;改为全局80,另一个角太黑。 就把图分成4x4,16个小方块,用一个阈值矩阵手工搞,虽说是滥竽充数,好歹也弄出来了。 程序段: void CXDTS1View::OnTestTest1() { // TODO: Add your 阅读全文
posted @ 2022-07-26 18:49 XGZ21 阅读(91) 评论(0) 推荐(0)
摘要:用摄像头拍照,把图片灰度化处理,也可以二值化处理,不过二值化后惨不忍睹,估计对特定的事物还是可以的,对一般性事物简单的处理就不适用了。 运行效果如下图: 主要的程序段: XDShow是摄像头的接口,因为有两个摄像头,枚举后绑定了第二个。 XDShow.h #pragma once #include 阅读全文
posted @ 2022-07-24 21:02 XGZ21 阅读(378) 评论(0) 推荐(0)
摘要:MFC,MDI,VS2022,Multiple-Byte,Win32 Debug, 静态连接, zlib-1.2.11,SQlite 用ZLIB把包含图片的RTF文本压缩后存到SQLite中,然后读出解压还原。 1.下载ZLIB的源文件,解压后用VS编译静态链接库 zlibstat.lib,放到工程 阅读全文
posted @ 2022-07-22 09:38 XGZ21 阅读(145) 评论(0) 推荐(0)
摘要:MFC MDI框架,CRichEditView 作为视图,显示和编辑带格式的文本。 文本的存储,是将RTF格式的字符串存入 SQLite 数据库,数据表的BLOB字段。 对于每个视图,保存对应的树节点,关联到SQLite中对应的记录。 树节点也保存视图的指针,避免重复创建视图。 封装的SQLite 阅读全文
posted @ 2022-07-11 11:58 XGZ21 阅读(228) 评论(0) 推荐(0)
摘要:MFC CTreeCtrl 树节点是在插入时确定位置,用hParent, hInsertAfter 这两个HTREEITEM 可以唯一确定节点位置。 这样增,减,移动节点后,只有两个数据变化,涉及的其他节点数据的变化也很少,比较适合存储。随机存储的节点只要有两个相关节点数据就能还原出树。 实际还原很 阅读全文
posted @ 2022-07-07 18:40 XGZ21 阅读(250) 评论(0) 推荐(0)
摘要:折腾了好久,终于可以在文件树中把对应的子窗口激活了。 需要给主框架的MDI客户窗口发WM_MDIACTIVATE消息,消息的中的窗口句柄不是视的句柄,而应该是子窗口框架的句柄。 在Doc文件中把新建文档对应的视的窗口句柄保存到FileView的树节点中。 BOOL CREDTDoc::OnNewDo 阅读全文
posted @ 2022-06-26 21:02 XGZ21 阅读(754) 评论(0) 推荐(1)
摘要:MFC 多文档-视图的 数据结构: 1.CWinApp 的成员变量 CDocManager* m_pDocManager 管理模板2.CDocManager 的成员变量 CPtrList m_templateList 维护结构模板 CMultiDocTemplate new的对象指针3.CDocMu 阅读全文
posted @ 2022-06-07 18:40 XGZ21 阅读(757) 评论(0) 推荐(0)