基于MFC,在非客户区与客户区利用CButon类创建button
2011-09-07 18:21
169 查看
在VC中创建一个基于MFC的空的工程,取名叫MFCTest,
==================================================================
在非客户区创建按钮:
在CMainFrame类中添加一个私有(private)的成员变量,如图:
![](http://images.cnblogs.com/cnblogs_com/luowei010101/201109/201109071821208043.jpg)
private:
CButton m_btn;
在创建框架窗口的函数中CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中添加:
m_btn.Create("按钮",WS_CHILD|BS_DEFPUSHBUTTON,CRect(0,0,100,50),this,123); //创建按钮
m_btn.ShowWindow(SW_SHOWNORMAL); //显示按钮
创建,button按钮;利用CBtton::Create(……)函数的用法,下面是详细说明:
BOOL
Create(
LPCTSTR
lpszCaption,
DWORD
dwStyle,
const
RECT&
rect,
CWnd*
pParentWnd,
UINT
nID
);
Return Value
Nonzero if successful; otherwise 0.
Parameters
lpszCaption
Specifies the button control's text.
dwStyle
Specifies the button control's style. Apply any combination of button styles to the button.
rect
Specifies the button control's size and position. It can be either a CRect object or a RECT structure.
pParentWnd
Specifies the button control's parent window, usually a CDialog. It must not be NULL.
nID
Specifies the button control's ID.
================================================================================================
非客户区创建按钮:
同样,在CMFCTestView类中添加一个私有(private)的成员变量,
private:
CButton m_btn;
右键点击类CMFCTestView -> Add Windows Message Handle… -> WM_CREATE ->Add And Edit
在// TODO: Add your specialized creation code here 下添加:
m_btn.Create("按钮",WS_CHILD|BS_DEFPUSHBUTTON,CRect(0,0,100,50),this,123);
m_btn.ShowWindow(SW_SHOWNORMAL);
……………………^_^ OK !
如果想在创建完这个button就让它立即显示出来,可以在Create函数中增加一窗口类型WS_VISIBLE,不要这句m_btn.ShowWindow(SW_SHOWNORMAL);
m_btn.Create("按钮",WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,CRect(0,0,100,50),this,123);
效果如下:
![](http://images.cnblogs.com/cnblogs_com/luowei010101/201109/201109071821206124.jpg)
其中CRect函数是指定按钮窗口的左上角与右下角。
如果要在非客户区中显示则可改成:m_btn.Create("按钮",WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,CRect(0,0,100,50),GetParent(),123);
即利用GetParent(),获得一个父窗口的指针;
相关文章推荐
- 基于MFC,在非客户区与客户区利用CButon类创建button
- VS2008MFC中创建的基于Dialog的工程无法使用Dialog上Button按键新建CButton类?
- [转]VC/MFC 基于对话框的图片拖动(利用内存DC防止图片闪烁)
- MFC_CMenu_AppendMenu_基于dialog的动态创建menu
- 利用Cocoapods创建基于SVN的私有库podspec
- 创建基于MFC的ActiveX控件时各选项的说明
- MFC基于对话框 创建工具栏 工具栏提示 窗口同步缩放 拦截主界面Enter按下 窗口过程 菜单工具栏按钮变灰
- 如何在MFC中创建非矩形button
- MFC添加基于CListView创建新类时报"CListView: base class undefined"的解决
- 基于MFCColorButton的MyColorButton
- ABAP 利用class创建客户/供应商主数据
- 在基于对话框的MFC创建状态栏以及添加时间显示
- MFC控件篇之利用AppWizard创建并使用ToolBar StatusBar Dialog Bar
- MFC添加基于CListView创建新类时报"CListView: base class undefined"的解决
- MFC--工具条插入下拉框控件(利用m_comboButton)
- 基于MFCColorButton的MyColorButton
- 利用MFC 在运行中动态创建新窗口
- MFC中动态创建button及添加响应事件
- 利用HTML+CSS创建Button
- 创建基于opencv库的MFC多文档图像处理框架