if (m_ckTopmost.GetCheck())
SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREDRAW);
//注意:不是m_ckTopmost.SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREDRAW);
SetWindowPos(&wndNoTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREDRAW);
1.创建一个基于对话框的项目;2.上面放置一个checkbox,选中的时候将该主对话框置顶,否则取消置顶;void CMFCApplication2Dlg::OnBnClickedCheck1(){ // TODO: 在此添加控件通知处理程序代码 if (m_ckTopmost.GetCheck()) { SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREDRAW..
1、MessageBox、AfxMessageBox的区分:
详细说明见:https://blog.csdn.net/holybin/article/details/28403109
MessageBox在有
MFC
、win32 SDK两个版本
MessageBox使用更加灵活,可设置图片、标题、形态等,甚至在子线程中弹出,也可以
置顶
显示,比AfxMessageBox好些。
AfxMessageBox是
MFC
全局函数
待解决问题:
由于子线程弹出窗口是不规范的
操作
,修改为子线程给主线程发
HWNDhWnd,//handleofownerwindow
LPCTSTRlpText,//addressoftextinmessagebox
LPCTSTRlpCaption,//addressoftitleofmessagebox
UINTuType...
VC++ 判断你的窗口是否
置顶
TopMost
大家可能已经知道,使你的窗口
置顶
(TopMost)或者总是最前(Always on Top)的方法:
// Make topmost
::SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0,
SWP
_NOMOVE |
SWP
_NOSIZE);
// Revert back
::SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0,
SWP
_NOMOVE |
SWP
_NOSIZE);
SetWindowPos()
函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。
函数原型:BOOL SetWindowPos(HWN hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,in
MFC
(Microsoft Foundation Class)是微软基于Windows
操作
系统开发的一套可视化程序设计的类库,其中
对话框
是
MFC
中常用的界面元素之一。想要对
MFC
对话框
进行美化,可以采取以下几个方法。
首先,可以使用
MFC
自带的控件及样式来美化
对话框
。
MFC
提供了丰富的控件,如按钮、列表框、组合框等,可根据需求选择合适的控件,并设置其颜色、字体等属性,使界面更加美观。同时,还可以通过
MFC
提供的样式选择
对话框
的风格,如更改
对话框
的背景色,添加背景图片等。
其次,可以使用图形库来美化
对话框
。可以引入第三方图形库,如GDI+等,利用其强大的图形处理能力来实现更丰富的界面效果。通过绘制图形、实现渐变色等
操作
,可以使
对话框
更加生动、有趣。
另外,可以使用自定义控件来美化
对话框
。
MFC
允许开发者自定义控件,可以根据需求编写自己的控件,并在
对话框
中使用。这样可以实现更加个性化、独特的界面效果,提升用户体验。
最后,可以使用第三方界面库来美化
对话框
。市面上有许多成熟的界面库,如DuiLib、BCGControlBar等,这些库提供了丰富的界面控件和样式,可以直接使用它们提供的控件来进行界面美化,节省开发时间和精力。
综上所述,通过使用
MFC
自带的控件及样式、引入图形库、自定义控件、使用第三方界面库等方法,可以对
MFC
对话框
进行美化,提升应用程序的界面效果和用户体验。