vc单文档 添加控件

vc单文档 添加控件,第1张

单文档不能像对话框一样用鼠标拖控件来添加控件

要在单文档中添加控件要用代码实现,函数用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。添加“固有的”属性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11537758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存