
[Windows]MFC窗体
文章平均质量分 81
零点零一
Make it right before you make it faster. Keep it right when you make it faster. Make it clear before you make it faster. Do not sacrifice clarity for small gains in efficiency. -- Brian Kernighan
展开
-
MFC父窗口 子窗口隐藏关系
MFC子窗口和父窗口(SetParent,SetOwner)一、概念和区别在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为拥有/被拥有关系,后者称之为父/子关系。在这篇文字中,我把owner窗.转载 2020-10-10 14:52:23 · 1191 阅读 · 0 评论 -
C++开源界面库
刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,开始对于C++软件界面美化有了一点点的心得。不敢藏私,希望和一些新手朋友们分享交流。 一. 开源C++界面库 1.RingSdk Ringsdk是优快云上...转载 2018-04-02 10:29:02 · 4602 阅读 · 0 评论 -
MFC全局函数开局——AfxGetApp解剖
AfxGetApp( )这个函数可以得到当前应用进程的指针,是CWinApp*类型的,通过这个指针可以访问到这个进程中的对象。函数原型:CWinApp*AFXAPI AfxGetApp();返回值:A pointer to the single CWinApp object for the application.返回指向应用程序的单一的CWinApp对象的指针。注转载 2017-09-22 09:26:09 · 1231 阅读 · 0 评论 -
Windows编程入门(5)MFC程序最小托盘化
转载自http://blog.youkuaiyun.com/csf111/article/details/6980508 为了使MFC程序(SDI,MDI,DLG)均能最小化到系统托盘,这里运用消息机制来实现系统托盘效果。 那么什么是托盘呢?所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。在程序最小化或挂起时,但有不希望占转载 2017-09-12 16:45:15 · 499 阅读 · 0 评论 -
《Windows核心编程》の托盘程序的编写(CSystemTray类)
http://blog.youkuaiyun.com/asce1885/article/details/5863785研究下托盘程序,或者说:任务栏通知区域(Tray)图标。很多应用程序在系统Shell任务栏通知区域有图标提示。通知区域图标适用于长时间运行但无需用户过多操作,并在有事件发生时可随时根据情况通知用户的应用程序(如即时通信工具、下载工具等)。使用任务通知区域图标的好处如下:1)转载 2017-09-12 16:43:35 · 635 阅读 · 0 评论 -
MFC/VC中当鼠标停靠在按钮等控件上时出现文字提示功能
在VC中,常常为一些图片按钮添加一些功能提示。下面讲解实现过程,大部分代码是网上的,但已经过测试,可以直接使用~该功能的实现主要是用CToolTipCtrl类。该类在VC msdn中有详细说明。首先在对话框的头文件中加入初始化语句:public:下,加入:CToolTipCtrl m_stat;然后在初始化对话框函数中加入:(注:我开始在OnCreate函数中加的这转载 2017-09-12 09:29:46 · 634 阅读 · 0 评论 -
调整MFC 控件显示层次调整,即(叠放次序)和绘制遮挡问题
控件有的放在上面有的放在下面,但是不小心次序弄错了,那么怎么纠正呢?VC查看窗口的控件,按下ctrl +D 可以看到他们的显示层次,数字小的最底层,要调整其中的顺序,就是在按下CTRL+D看到各个控件的次序后,用鼠标挨个点击一下就重新排序了,先点击的是1,再点击的是2,依次按照你的意愿把这些逐个点击,就会重新排了次序。原创 2017-09-09 09:03:41 · 16027 阅读 · 1 评论 -
隐藏基于对话框的MFC应用程序窗口的方法 (推荐这个方法,非常好用)
隐藏基于对话框的MFC应用程序窗口的方法(推荐这个方法,非常好用)很多人可能会将窗口创建出来,然后用一个 ShowWindow(SW_HIDE) 的方法去隐藏窗口,当然这是可以做到隐藏的功能,但是有一点不足的地方就是窗口在隐藏之前会有一下短瞬的闪烁,而以下这种方法可以解决这种问题:在 C***App::InitInstance() 的函数中将以下的这一段注释掉:C***转载 2017-09-08 14:03:37 · 642 阅读 · 0 评论 -
MFC窗口程序启动隐藏窗口,但是窗口闪烁一下才隐藏的处理
窗口类添加成员变量BOOL m_bShowWindow;构建函数里面设置为FALSE;m_bShowWindow = FALSE;窗口重写OnWindowPosChanging如下添加代码完成后即可。函数void CDlg::OnWindowPosChanging(WINDOWPOS* lpwndpos){ //__super::OnWindowPosCh原创 2017-09-08 14:02:07 · 1886 阅读 · 0 评论 -
WINDOWS API ——SETWINDOWLONG—— 设置窗口样式 SetWindowLong 函数原型为:LONG SetWindowLong(HWND hwnd,int nIndex,Lon
WINDOWS API ——SETWINDOWLONG—— 设置窗口样式SetWindowLong 函数原型为:LONG SetWindowLong(HWND hwnd,int nIndex,Long dwNewLong);详见MSDN。下面简单总结一下SetWindowLong函数几种常用的地方:1.设置窗口风格 如:SetWindowLong(hWnd, G转载 2017-08-22 14:35:28 · 1187 阅读 · 0 评论 -
Rundll32.exe参数传递问题解决方法
#include extern "C" __declspec(dllexport) void F1(int num) { CString str; str.Format("%d",num); AfxMessageBox(str); } 本人曾经碰到一个问题,就是按照网上搜索到的说明,Rundll32的用法转载 2017-06-30 22:50:52 · 671 阅读 · 0 评论 -
如何快速入门Windows编程
摘要:不少朋友向我征询学习Windows界面编程的方法,每一次,我总毫不犹豫的回答:先去学Windows SDK吧。——是的,如果你要以最快的速度学习Windows编程,那么,你需要从Windows SDK开始。假如你选择MFC或者Delphi/C++ Builder等等,虽然看似你快人一步,但是你仍然困惑着,总有一天,你还是得回头一点一滴了解Windows SDK,而此时,你已经走了不少冤枉路了转载 2017-04-06 15:31:09 · 982 阅读 · 0 评论 -
GDI+学习笔记之GDI+环境初始化
作者:朱金灿来源:http://blog.youkuaiyun.com/clever101/ 尽管以前接触过一下GDI+,但决心从现在开始系统学习GDI+,所用的教材为《精通GDI编程》。在VS 2010以下版本的VS 编译器使用GDI+都需要对GDI+环境进行初始化操作(VS 2010中的MFC 10依赖GDI+,故不用初始化)。VS 2003、VS 2005和VS转载 2017-04-06 15:26:49 · 703 阅读 · 0 评论 -
SetWindowPos函数详解及CenterWindow()的用法
WinAPI: SetWindowPos - 改变窗口的位置与状态SetWindowPos(hWnd: HWND; {窗口句柄}hWndInsertAfter: HWND; {窗口的 Z 顺序}X, Y: Integer; {位置}cx, cy: Integer; {大小}uFlags: UINT {选项}): BOOL;//hWndInsertAfter转载 2017-04-06 09:09:51 · 6428 阅读 · 0 评论 -
MFC窗体位置
CenterWindow函数作用居中窗口函数原型BOOL CenterWindow(HWND hWndCenter = NULL) throw();参数hWndCenter需要居中的窗口的句柄,如果此参数为NULL(默认值),该方法将设置hWndCenter到窗口的父窗口,如果它是一个子窗口。否则,将设置hWndCenter到窗口的所有者窗口。返回值TR转载 2017-04-06 09:06:08 · 944 阅读 · 0 评论 -
MFC 让对话框不显示在任务栏和桌面
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW,1);//任务栏隐藏ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);//从任务栏中去掉. SetWindowPos(&wndTop,0,0,0,0,NULL);或者 ModifyStyleEx(WS_EX_APPWI转载 2017-03-29 16:49:50 · 3511 阅读 · 0 评论 -
MFC中CFileDialog的用法 如何设置文件类型
CFileDialog的用法CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下:[cpp] view plain copy 在CODE上查看代码片派生到我的代码片CFileDialog::CFileDialog CFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDe转载 2017-04-07 11:42:37 · 3915 阅读 · 0 评论 -
MFC学习总结 (67个技巧)
My C++当时只道是寻常~MFC学习总结 (67个技巧)1."属性页的添加:创建对话框的类,该类要从CpropertyPage继承;然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新创建的对话框类的对象m_skatch;最后,在.cpp文件里的OnInitDialog()之类的函数里实现如下代码:m_tabsheet.Create(t转载 2017-04-07 09:04:58 · 4302 阅读 · 0 评论