
MFC相关
记录工作中使用MFC开发的情况以及常见问题、解决办法等
逍遥子_
重点关注大并发处理、分布式计算、微服务、物联网、大数据等领域
展开
-
MFC 常见窗口操作
1、改变窗口大小或全屏窗口可用下面的代码:MoveWindow(hDlg,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),TRUE); 2、去掉窗口的边框可用下面的代码:LONG nStyle= GetWindowLong( hDlg, GWL_STYLE);LONG newStyle=原创 2012-12-27 15:56:46 · 2578 阅读 · 0 评论 -
MFC中将窗口最小化到系统托盘和还原
通过以下步骤可以在MFC程序中将窗口最小化到系统托盘,和还原成窗口,附加代码中如有特殊说明则会用红色标出。1、添加一个ICON图标,其ID为IDI_ICON_TESTICON,在VS2008坐标的Resource View(资源视图)中添加,该图标主要用于在托盘区显示;在头文件中定义添加托盘图标的消息号(用户所有对托盘的消息将对应此消息号):#define WM_ICON_原创 2012-12-28 14:26:27 · 2202 阅读 · 0 评论 -
MFC模态与非模态对话框的创建与销毁
1、模态对话框的创建(1)添加新的模块对话框资源,在ResourceView标签中右键项目选择“add resource...”,添加一个对话框资源,并修改其ID(主要为了方便后续操作),例如修改为IDD_DLG_TEST1。(2)为该新添加的窗口创建新类CDlgTest1(3)创建模态对话框:*定义一个CDlgTest1类的指针m_pDlgTest1.*为类m_pDlgTes原创 2012-12-29 09:29:42 · 1983 阅读 · 0 评论 -
MFC中打开指定文件夹并默认选中该文件夹中的某个文件
相关代码如下:CString strParam(_T("/select,"));strParam += m_strLastFilePath;ShellExecute(0,_T("open"),_T("Explorer.exe"),m_strLastFilePath,0,SW_NORMAL);其中: m_strLastFilePath是指定的文件名(包含全路径)原创 2013-01-07 11:03:59 · 3016 阅读 · 0 评论 -
MFC为窗口创建线程,以及线程与窗口间的通信
1、定义向线程传递的参数类型,例如(可以根据自己的需要来定义):struct t_DebugerThreadParam{ HWND m_hMainWnd; HWND m_hDebugerWnd; CString* m_pLastFileName;};2、创建线程,并向线程传递所需参数//向线程传递的参数struct t_DebugerThreadParam{原创 2013-01-07 11:34:16 · 6486 阅读 · 3 评论 -
CreateThread、_beginthread与AfxBeginThread的区别及其注意事项
在windows下一般由以下三种方式来进行线程操作: 1、通过CreateThread(),对应线程结束函数ExitThread(); 2、通过_beginthread(),对应线程结束函_endthread(); 3、在MFC程序中还可以通过AfxBeginThread();对应线程结束函数AfxEndThread(),它们是MFC层面进行的原创 2013-02-20 09:43:43 · 2464 阅读 · 2 评论 -
代码开发过程中对日志的使用总结
在日常开发过程中,日志是代码的必要组成部分,一个好的代码也必然有一个好的日志输出,优秀的日志不仅可以快速帮助我们分析定位问题还可以在对日志的数据挖掘中产生很大的威力。 1、java在发生异常时可以打印它的堆栈信息以帮助调试,但是java的异常也有下列问题: 1)java出现异常时只能展示静态的调用堆栈信息,对应异常之前的调用参数则无法进行展示,也就是只知道哪里发生了异常,而不知道是哪些数原创 2015-04-20 14:01:46 · 5789 阅读 · 0 评论 -
MFC获取文件夹下的所有文件名
1、获取路径:通过CFileDialog获取文件夹的路径,以及文件夹下面的一个文件OnBnClickedBtnOpenfile(){ // TODO: Add your control notification handler code here CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框 CString csDi原创 2013-01-21 17:51:14 · 9470 阅读 · 0 评论 -
通过MFC窗口获取方向键
1、启动时,从配置文件中读取上次保存的方向键键值,并将这些配置显示到窗口中(1)从配置文件中读取方向键,并将其显示到窗口:iCfgValue = GetPrivateProfileInt(_T("AppChoice"),_T("iCommandU"),0,filePath);//从配置文件中读取方向键的值if (!_IsDirectionKey(iCfgValue,m_csStyle原创 2013-01-18 16:04:36 · 2612 阅读 · 0 评论 -
MFC模态与非模态对话框的创建与销毁
1、模态对话框的创建(1)添加新的模块对话框资源,在ResourceView标签中右键项目选择“add resource...”,添加一个对话框资源,并修改其ID(主要为了方便后续操作),例如修改为IDD_DLG_TEST1。(2)为该新添加的窗口创建新类CDlgTest1(3)创建模态对话框:* 定义一个CDlgTest1类的指针m_pDlgTest1.* 为类m_pDlgT...原创 2019-09-29 10:55:26 · 797 阅读 · 0 评论 -
MFC中将窗口最小化到系统托盘和还原
通过以下步骤可以在MFC程序中将窗口最小化到系统托盘,和还原成窗口,附加代码中如有特殊说明则会用红色标出。1、添加一个ICON图标,其ID为IDI_ICON_TESTICON,在VS2008坐标的Resource View(资源视图)中添加,该图标主要用于在托盘区显示;在头文件中定义添加托盘图标的消息号(用户所有对托盘的消息将对应此消息号):#define WM_ICON_NOTIF...原创 2019-09-29 10:57:02 · 1361 阅读 · 0 评论 -
通过窗口名字(caption的内容)查找窗口,并将其隐藏或者置顶显示
1、下面的代码可以通过窗口的名字找到置顶的窗口对象CWnd*m_TestWnd = FindWindow(NULL,_T("Hello,Test window"));if (NULL !=m_TestWnd){m_TestWnd->ShowWindow(SW_HIDE);}上述代码可以将窗口隐藏,如果将隐藏的窗口显示则调用ShowWindow(SW_S...原创 2019-09-29 10:57:43 · 1839 阅读 · 0 评论