要在单文档中添加控件要用代码实现,函数用Create.
举个例子:添加一个按钮控件
1.在View类的头文件中定义个ID号:
#define IDC_DYNAMICBUTTON 1001
2.加入成员变量
public:
CButton m_button
3.在OnCreate函数加创建按钮和列表框
int CStyleView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
....
// TODO: Add your specialized creation code here
//创建按钮
m_button.Create(
//按钮标题
"i am a dynimic button",
//按钮风格
WS_CHILD|WS_VISIBLE|WS_BORDER,
//按钮大小
CRect(300,40,500,80),
//按钮父指针
this,
//该按钮对应的ID号
IDC_DYNAMICBUTTON)
....
}
4.添加处理函数
//{{AFX_MSG(..)
afx_msg void OnClickButton() //按钮消息处理函数
//}}AFX_MSG
BEGIN_MESSAGE_MAP(...)
ON_BN_CLICKED(IDC_DYNAMICBUTTON,OnClickButton) //按钮ON_BN_CLICKED消息的处理函数OnClickButton
//}}AFX_MSG_MAP
//现在就可以给这个按钮添加你要实现功能的代码了
void CStyleView::OnClickButton()
{
AfxMessageBox("按钮被点到了!")
}
使用AppWizard建立一个ActiveX控件工程。请按如下步骤生成该控件:
1.在文件菜单中选择新建
2.在工程选项卡中选择MFC ActiveX Control Wizard
3.工程命名为Plot,然后确定进入下一步。
4.在“Step 1 of 2 ”对话框中接受默认选择,进入下一步。
5.在“Step 2of 2 ”对话框中的Which window class, if any, should this control subclass?下拉框中选择STATIC,用途使用它来显示数 据。
6.选择“Advanced”按钮,在“Flicker free activation (无闪烁)”前面打钩。
7.点击“Finish”按钮后,AppWizard会建立以下类:
CPlotApp类:派生于COleControlModule的程序类。COleControlModule是派生一个OLE模块对象的基类,此类为控件的初始化 (InitInstance) 与销毁(ExitInstance)提供成员函数。
CPlotCtrl类:派生于COleControl的类。为控件提供的功能函数最多,故大部分代码添加与此。
CPlotPropPage类:派生于COlePropertyPage的类。此类用与管理控件的属性页,同时也有相应的对话框资源来为控件提供属性页。
2。添加“固有的”属性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)