在ActiveX控件中引入窗体技术

在ActiveX控件中引入窗体技术,第1张

在ActiveX控件中引入窗体技术,第2张

首先,引入对话技术

下面介绍制作ActiveX控件时引入模态对话框的技术,制作步骤如下:

创建一个名为Hello的新MFC ActiveX ControlWizard项目,并使用其他默认选项。

在ResourceView页面中添加一个对话框资源,命名为IDD_HELLODIALOG,可以在对话框上放置自己的控件;

为对话框资源IDD_HELLODIALOG创建一个新的类CHelloDialog,它是从CDialog继承的;

确认HelloCtrl.h中已经添加了语句# include“hello dialog . h”,并添加成员变量CHelloDialog m _ helloDialog对于儿童类;

使用ClassWizard为自动化页面中的CHelloCtrl添加一个方法void DoHello(),外部名称也是do hello

voichello Ctrl::do hello(){//显示对话框m_helloDialog。DoModal();}

可以用ActiveX控件测试容器测试Hello控件的DoHello方法。

下面介绍制作ActiveX控件时引入无模式对话框的技术。制作步骤如下:

在以上工作的基础上,用ClassWizard将WM_CREATE处理函数OnCreate添加到CHelloCtrl中,在这里创建一个无模式对话框;

修改DoHello代码以在此显示对话框;

int chell octrl::OnCreate(LPCREATESTRUCT LPCREATESTRUCT){
if(cole control::OnCreate(LPCREATESTRUCT)=-1)return-1;
//创建对话框
m _ hello dialog . Create(IDD _ hello dialog);
返回0;
}
Void Chello Ctrl::do hello(){
/Show对话框
m _ hello dialog.show窗口(SW _ Show);
}

下面介绍以对话框为界面的ActiveX控件的制作技术,制作步骤如下:

在以上工作的基础上,将对话框资源IDD_HELLODIALOG属性的样式页面设置为Style:Child,border: dialogframe,标题栏:unchecked;将更多样式页面设置为可见:选中;;控制:已检查;将扩展样式页设置为静态边缘:已选中;;

在CHelloCtrl::OnCreate中编写M _ hello dialog . create(IDD _ hello dialog,this)语句;

在CHelloCtrl::OnDraw中写入m _ hello dialog . move window(RC bounds,true);

int chell octrl::OnCreate(LPCREATESTRUCT LPCREATESTRUCT){
if(cole control::OnCreate(LPCREATESTRUCT)=-1)return-1;
//创建对话框
m _ hello dialog . Create(IDD _ hello dialog,this);
返回0;
}
Void Chello Ctrl::ONDRAW(CDC * PDC,Const CRECT & RCBounds,Const CRECT & RC Invalid){
/定位hello对话框
M _ Hello对话框。MoveWindow (RCBounds,true)
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 在ActiveX控件中引入窗体技术

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情