MFC窗口风格
曾经一片
业精于勤而荒于嬉行成于思而毁于随
展开
-
MFC 设置窗口置顶显示
//窗口置顶::SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);//窗口不置顶::SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); 可以在菜单,或者添加一个按钮,来更改程序是否置顶的选项.原创 2013-04-22 16:30:35 · 4788 阅读 · 0 评论 -
CScrollView滚动条范围问题 超过32位不能正确下拉问题
感谢微软提供的方法,非常简单:在OnScroll函数中添加:BOOL CMyScrollView::OnScroll(UINT nScrollCode, UINT nPos, BOOL bDoScroll) { SCROLLINFO info; info.cbSize = sizeof(SCR原创 2013-07-26 10:27:58 · 1232 阅读 · 0 评论 -
MFC多文档默认打开某一个文档
在APP的InitInstance()中,把这一句换成后面的:替换前:if (!ProcessShellCommand(cmdInfo))return FALSE;替换后:if(cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew){pDocTemplate1->OpenDocumentFile(NULL);}原创 2013-06-03 16:40:38 · 936 阅读 · 1 评论 -
MFC将程序添加到系统图标栏,系统托盘栏
在对话框的初始化OnInitDialog()中:NOTIFYICONDATA tnid; tnid.cbSize = sizeof(NOTIFYICONDATA); tnid.hWnd = m_hWnd; tnid.uID = IDR_MAINFRAME; tnid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;原创 2013-05-29 08:54:53 · 1048 阅读 · 0 评论 -
MFC程序默认用管理员身份打开,参考360安全卫士
(2)(3)2、在资源1中添加下面的值,将下面的文字复制,粘贴进去就可以: 在资源中添加 uiAccess="false"> 然后编译,运行,程序就默认的管理员权限运行了。第二部分是让程序默认拥有系统风格,比如WIN7原创 2013-05-15 16:41:29 · 896 阅读 · 0 评论 -
MFC让程序运行时不在任务栏显示
在初始化时加上:ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);WS_EX_APPWINDOW:Forces a top-level windowonto the taskbar when the window is visible.WS_EX_TOOLWINDOW:Creates a tool window, which i原创 2013-05-29 09:35:56 · 1564 阅读 · 0 评论 -
MFC让系统托盘菜单失去焦点时自动消失
方法是在TrackPop前面加上:SetForegroundWindow();pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this); SetForegroundWindow函数功能:该函数将创建指定窗口的线程设置到前台,并且激活该窗口。键盘输入转向该窗口,并为用户改各种可视原创 2013-05-29 09:30:37 · 1902 阅读 · 0 评论 -
MFC XP风格
2011-03-02 13:51 VC实现XP风格控件效果(转)VC实现XP风格控件效果C&C++ 2008-02-15 21:28:25 阅读262 评论2 字号:大中小订阅 一个小窍门可以方便的在VC6、VC2003、VC2005下实现XP风格的控件效果,而且风格随主题变化而变化,没有主题则显示为原来的风格,看效果对比图:原来的样式改变后的样式很转载 2013-05-15 08:56:11 · 714 阅读 · 0 评论 -
MFC 鼠标拖动无边框窗口
在鼠标左键按下消息中添加以下代码:PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y)); 比如:void Dialog1::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler原创 2013-04-18 17:24:17 · 1262 阅读 · 0 评论 -
MFC创建非模态对话框
创建非模态对话框对象必须是一个能一直存在的,如果声明为临时对象,在函数周期结束时,这个对象就被删除了,对应的对话框也删除了。所以有2种方法,一种是声明为类的成员变量。另外一种是用指针new一个,因为new了以后,是会非配内存的,不去删除这个内存,这个内存一直存在。1、正确方式是:(1)方法1:使用指针newCTestDlg *dlg=new CTestDlg();dlg原创 2013-04-26 09:07:28 · 703 阅读 · 0 评论 -
MFC 判断一个窗口是否是可见状态
使用CWnd的成员函数IsWindowVisible();就能返回一个窗口是否可见了。原创 2013-04-26 09:23:25 · 6712 阅读 · 0 评论 -
MFC 程序只能运行一个实例 互斥对象
在WinApp InitInstance函数的第一行创建一个互斥对象。判断对象是否为空,如果不为空,则报告,程序已经运行。返回错误。 BOOL CMyProgramApp::InitInstance() //CMyProgramApp是你的WinApp类名 { HANDLE hMutex=::CreateMutex(NU原创 2013-03-18 10:44:42 · 872 阅读 · 0 评论 -
mfc win7获得管理员权限 使用WIN7风格 使用当前系统风格
在win7下,操作系统文件夹下的东西,需要程序拥有管理员权限才可以,程序拥有管理员权限的方法为:一、添加管理员权限1、在Resource View中添加一个文件夹,名称为24,将文件夹下的资源名称改为1.操作如图:(1)(2)(3)2、在资源1中添加下面的值,将下面的文字复制,粘贴进去就可以: version="1.0.0.0"原创 2013-04-23 08:24:00 · 1287 阅读 · 0 评论 -
MFC设置透明窗口
在MFC中,通过设置透明窗口,可以得到有对应透明度的窗口:如果是对话框,则在OnInitDialog中加上以下代码:SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0X80000); HINSTANCE hInst = LoadLibrary原创 2013-04-18 16:48:20 · 2084 阅读 · 0 评论 -
MFC 不规则窗口 SetWindowRgn
有时候,我们需要使用到不规则窗口,比如一个圆形的对话框,或者一个三角形的对话框,这个时候,我们就可以通过使用SetWindowRgn来设置对话框的形状。其实,当我们不设置窗口形状的时候,windows默认设置窗口形状为矩形了。可以再OnInlitDialog中添加下列代码:CRgn rgn; //建立一个CRgn rgn.CreateEllipticRgn(50,50,20原创 2013-04-18 17:15:33 · 2191 阅读 · 0 评论 -
设置一个对话框的字体,以及所有控件字体
在OnInitDialog() 中:font.CreatePointFont(90,"Arial");SetFont(&font);CWnd *pWnd = GetWindow(GW_CHILD);while(pWnd != NULL){pWnd-> SetFont(&font);pWnd = pWnd-> GetWindow(GW_HWNDNEXT);}原创 2013-12-04 15:59:38 · 1221 阅读 · 0 评论