1、用于创建工具栏和ReBar if (!m_reBar.Create(this)) return FALSE; if (!m_toolBar.CreateEx(this)) return FALSE; //TBSTYLE_TRANSPARENT是使CToolBar透明,可以显示CReBar的背景。 //TBSTYLE_LIST用于设置按钮文字时,文字在按钮的右边,默认情况下是文字在按钮的下部 m_toolBar.ModifyStyle(0, TBSTYLE_TRANSP...
它首先Disable对话框窗口的父窗口;然后使用::CreateIndrectDialog创建对话框窗口,使用子类化的方法用AfxWndProc(或者AfxBaseProc)替换了原来的窗口过程,并把原来的窗口过程保存在CWnd的成员变量m_pfnSuper中。原来的窗口过程就是::DialogBox等创建对话框窗口时指定的,是Windows内部提供的对话框“窗口类”的窗口过程。取代(...
要将CS_DROPSHADOW 应用于 CDialog 的子类,请遵循以下步骤: 在派生类的构造函数中,使用 WS_POPUP 和 WS_VISIBLE 样式创建一个新的窗口。 在派生类的构造函数中,使用 CreateEx 方法创建一个新的窗口,并将 WS_EX_TOPMOST 和 WS_EX_TOOLWINDOW 作为扩展样式。 在派生类的构造函数中,使用 ModifyStyleEx ...
AfxHookWindowCreate(this); //CreateDlgIndirect间接调用::CreateDlgIndirect, //最终调用了::CreateWindowEX来创建对话框窗口。 //HOOK过程_AfxCbtFilterHook用子类化的方法 //取代原来的窗口过程为AfxWndProc。 if (CreateDlgIndirect(lpDialogTemplate, CWnd::FromHandle(hWndParent), hInst)) { if (m_nFlags &...
创建基于对话框的视窗口,不同于创建普通视窗口(前者调用CWnd::CreateEx,后者调用CWnd::CreateDlg),故需要覆盖Create虚拟函数。 覆盖PreTranslateMessage是为了过滤对话框消息,把一些消息让CFormView对象来处理。 覆盖了两个消息处理函数: afx_msg int OnCreate(LPCREATESTRUCT lpcs); afx_msg void OnSetFocus(CWnd*...