随笔分类 -  MFC

摘要:1.窗口上拖一个Edit控件,并将Visible设置为False 2.OnInitDialog为Edit设置父窗口为CListCtrl m_edit.SetParent(&m_lstRecord); 设置父窗口非常关键,因为后续Edit需要MoveWindow,而列表控件GetSubItemRect 阅读全文
posted @ 2023-12-25 15:52 快雪 阅读(332) 评论(0) 推荐(0) 编辑
摘要:使用WritePrivateProfileString写ini文件,在中文操作系统下写中文,没有问题,在俄文操作系统下,中文乱码。由于工程是Unicode,因此实际调用的是WritePrivateProfileStringW,而非WritePrivateProfileStringA。但是查看ini文 阅读全文
posted @ 2023-11-30 10:42 快雪 阅读(782) 评论(0) 推荐(0) 编辑
摘要:前段时间,碰到了一个奇怪的事情,我实现了一个读某文件的类,原本这个文件是以二进制写的,读的时候没太在意,将模式少写了一个“b”,变成了文本模式 _tfopen_s(&pFile, m_file, _T("r")) 测试了好些文件都没有问题,直到有一天,一同事反应读取函数有问题,数据被截断了。我看了半 阅读全文
posted @ 2023-11-30 10:17 快雪 阅读(111) 评论(0) 推荐(0) 编辑
摘要:CFile类的Open函数有CFile::modeNoTruncate模式,该模式是非截断的意思,再配合CFile::modeCreate,意味着如果文件不存在,则创建,如果文件存在,则不会将文件内容清空。当对文件进行追加写入时,有一个小细节,就是打开文件模式中虽然添加了这两种OpenFlag,但是 阅读全文
posted @ 2023-11-29 15:22 快雪 阅读(608) 评论(0) 推荐(0) 编辑
摘要:#ifdef _UNICODE std::wofstream os; #else std::ofstream os; #endif 请设置: os.imbue(std::locale("chs")); 或存为utf-8: std::locale utf8(std::locale("C"), new 阅读全文
posted @ 2022-07-25 18:06 快雪 阅读(239) 评论(0) 推荐(0) 编辑
摘要:程序调用CreateProcess总是报非法访问,类似这样调用: BOOL fSuccess = CreateProcess(NULL, command, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi); 调了半天不知道什么原因 阅读全文
posted @ 2022-04-16 02:09 快雪 阅读(80) 评论(0) 推荐(0) 编辑
摘要:// roptestView.h : CroptestView 类的接口 // #pragma once class CroptestView : public CView { protected: // 仅从序列化创建 CroptestView(); DECLARE_DYNCREATE(Cropt 阅读全文
posted @ 2021-09-18 17:24 快雪 阅读(154) 评论(0) 推荐(0) 编辑
摘要:ON_NOTIFY(HDN_DIVIDERDBLCLICK, 0, &CXXX::OnHdnDividerdblclickListData) void CXXX::OnHdnDividerdblclickListData(NMHDR *pNMHDR, LRESULT *pResult) { LPNM 阅读全文
posted @ 2021-09-17 16:14 快雪 阅读(181) 评论(0) 推荐(0) 编辑
摘要:Dialog-Box Item Functions CheckDlgButton Places a check mark next to or removes a check mark from a button control. CheckRadioButton Checks the specif 阅读全文
posted @ 2021-09-17 15:34 快雪 阅读(97) 评论(0) 推荐(0) 编辑
摘要:1.查一下m_pszAppName是否有被修改 2.看下紧接着是否有这样一句代码: AfxGetModuleState()->m_lpszCurrentAppName = m_pszAppName; 没有的话加上就好。 修改AppName很多人参考MSDN,可MSDN上的例子有缺陷! 原因大概如下: 阅读全文
posted @ 2021-09-03 16:01 快雪 阅读(714) 评论(0) 推荐(1) 编辑
摘要:做Win32或MFC开发,有不清楚的问题一定记得先查MSDN! 做Win32或MFC开发,有不清楚的问题一定记得先查MSDN! 做Win32或MFC开发,有不清楚的问题一定记得先查MSDN! CEdit控件有个Clear方法,之前我一直以为是清除文本的,有点像SetWindowText(_T("") 阅读全文
posted @ 2021-07-02 13:43 快雪 阅读(631) 评论(1) 推荐(1) 编辑
摘要:双缓冲说白就是贴图,将数据全部绘制在缓冲兼容DC上,再将兼容DC的数据一次全部绘制在屏幕上。相较直接在DC上绘图,双缓冲是将绘制数据全部输出,而非分步绘制,并且,可以避免Windows刷新背景色避免闪烁问题。示例如下: 双缓冲: //在缓冲区作图,最后将缓冲区数据一次全部拷贝至目标DC void C 阅读全文
posted @ 2021-06-24 13:13 快雪 阅读(291) 评论(1) 推荐(0) 编辑
摘要:CWnd::SendMessage 将指定的消息发送到此窗口。 LRESULT SendMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0); 参数 message指定要发送的消息。 wParam指定其他消息相关的信息。 lPara 阅读全文
posted @ 2021-06-22 11:39 快雪 阅读(133) 评论(0) 推荐(0) 编辑
摘要:void GetAllItemData(const CTreeCtrl& tree, HTREEITEM hItem, map<HTREEITEM,DWORD_PTR>& itmData) { if (NULL == hItem) { return ; } itmData.insert(make_p 阅读全文
posted @ 2020-12-16 15:48 快雪 阅读(504) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示