- 博客(11)
- 资源 (10)
- 收藏
- 关注
原创 MFC MDI 窗口函数执行顺序
(1)MDI窗口初始化时创建顺序(默认打开一个新文档): AddDocTemplate(pDocTemplate); CMainFrame* pMainFrame = new CMainFrame; CMainFrame::PreCreateWindow() 两次, CMainFrame::OnCreate CMFC_frameDoc()构造函数, CChildFrame()构造函数, CChildFrame::PreCreateWindow 三次, , CMFC_frameView()构造函数, CMFC
2011-03-11 21:45:00 3626
原创 工具栏 放在任意位置,且不能移动(如有分割条则不行)
<br />下面代码可以让工具栏放在任意位置,且位置固定不变,不能移动(前提是没有分割条,否则点击分割条,<br />工具栏仍然能移动):<br />只需把工具栏部分(就是m_wndToolBar.m_pDockBar的矩形区域)裁剪出来即可:<br />if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP <br /> | CBRS_GRIPPER | CBRS_TOOLTIPS |
2011-03-09 20:02:00 2611
原创 拦截 浮动工具栏的标题双击事件
<br />在MDI中,工具栏一般在主框架CMainFrame中,工具栏是主框架CMainFrame的子窗口,所以可以在主框架CMainFrame中处理子窗口(工具栏)的事件:<br />BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)<br />{<br /> // TODO: 在此添加专用代码和/或调用基类<br /> if(pMsg->message == WM_NCLBUTTONDBLCLK) // 非client区域的双击消息<br /> {<br /
2011-03-05 16:04:00 1956
原创 MFC的对话框中创建位图按钮
1.可新建一个类ImageButton(继承自CButton),并设置其风格为自绘: ModifyStyle(0,BS_OWNERDRAW);ImageButton.h:class ImageButton : public CButton{private:public: ImageButton(); // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(ImageButton) protected: virtual void
2011-03-04 10:30:00 3757 1
原创 去掉MFC的MDI程序中的浮动工具条上标题栏中的“关闭”按钮
<br />去掉MFC的MDI程序中的浮动工具条上标题栏中的“关闭”按钮:<br /><br /><br /><br />由于工具栏也是一个对话框窗口,我们可以利用 CControlBar 基类的m_pDockBar成员来调用GetParent()以获取工具条的父窗口。从而改变父窗口的式样——屏蔽系统菜单——来达到我们的目的——去掉“关闭”按钮。<br />(摘自http://www.vckbase.com/vckbase/default.aspx)<br /> <br />(1)如果想在视图CMFC_fr
2011-03-03 14:46:00 3727
原创 MFC 加载 光标
<br /> <br />(1)加载资源ID,可以是系统自带的(如ID_CROSS),或者是程序员自己加入的光标ID:<br />HCURSOR hCursor = ::LoadCursor(NULL,MAKEINTRESOURCE(IDC_CROSS)); <br />SetClassLong(m_hWnd,GCL_HCURSOR,(LONG)hCursor ); <br />//或者指针::SetClassLongPtr(this->GetSafeHwnd(),GCL_HCURSOR,(
2011-03-03 10:15:00 4668 1
原创 浮动状态栏 FloatControlBar()
<br />浮动状态栏 FloatControlBar( &m_wndToolBar, pt):<br /> CToolBar m_wndToolBar;<br /><br />m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_LEFT/*左停靠也可不要*/<br /> | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||<br
2011-03-03 09:24:00 2952
原创 对话框和MDI中动态创建按钮CButton,并响应事件
<br />一.对话框中动态创建按钮CButton:<br />(1)在对话框(如CAboutDlg)的类中加一个CButton数据成员 <br />class CAboutDlg : public CDialog<br />{ ......<br /> ::CButton m_btn;//按钮<br />}<br />(2)在对话框CAboutDlg)的初始化函数中创建按钮对象:<br />BOOL CAboutDlg::OnInitDialog()<br />{<br /> if ( !m_btn.Cr
2011-03-02 21:24:00 3923
原创 MDI中MainFrame与ChildFrame的关系
(1)没有子窗口ChildFrame(包括视图)时,显示的是主窗口MainFrame的菜单及工具栏.(2)如果用户新建了一个视图(如打开一个文件),则显示的是子窗口ChildFrame的菜单及工具栏,而主窗口MainFrame的菜单及工具栏被子窗口ChildFrame覆盖了.(3)主窗口有菜单,工具栏,一般似乎没有事件处理(如OnMouseDown等). 而子窗口一般有事件处理,如OnMouseDown()等(可在view中响应,因为ChildFrame与view已绑定在一起了,形成"三口组").而一个最简
2011-03-01 14:47:00 7616
原创 VS生成的最简WIN32窗口程序
<br />// win32_basic.cpp : 定义应用程序的入口点。<br />//<br /> <br />#include"stdafx.h"<br />#include"win32_basic.h"<br /> <br />#define MAX_LOADSTRING 100<br /> <br />// 全局变量:<br />HINSTANCE hInst; // 当前实例<br />TCHAR szTitle[MAX_LOADSTRING]
2011-03-01 14:05:00 2020
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人