程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 在ActiveX控件中引入窗體技術

在ActiveX控件中引入窗體技術

編輯:關於C語言

 

 

一、引入Dialog技術

---- 下面介紹在制作ActiveX控件時引入有模式對話框技術,制作步驟如下:

 

創建一新的MFC ActiveX ControlWizard項目,取名為Hello,其他用缺省選項;

 

在ResourceView頁中新增一對話框資源,命名為IDD_HELLODIALOG,可以在對話

框上放自己的控件;

 

為對話框資源IDD_HELLODIALOG創建新類CHelloDialog,從CDialog繼承;

 

確認在HelloCtrl.h中已加入語句#include "HelloDialog.h",為CHelloCtrl類

添加成員變量CHelloDialog m_helloDialog;

 

用ClassWizard在Automation頁中為CHelloCtrl添加一方法void DoHello(),外

部名亦為DoHello;

void CHelloCtrl::DoHello()

{

// 顯示對話框

m_helloDialog.DoModal();

}

 

---- 可以用ActiveX Control Test Container測試Hello Control的DoHello方法。

 

---- 下面介紹在制作ActiveX控件時引入無模式對話框技術,制作步驟如下:

 

在上面工作的基礎上,用ClassWizard為CHelloCtrl添加WM_CREATE的處理函數

OnCreate,在此創建無模式對話框;

 

修改DoHello代碼,在此顯示對話框;

int CHelloCtrl::OnCreate

(LPCREATESTRUCT lpCreateStruct)

{

if (COleControl::OnCreate(lpCreateStruct) == -1)

    return -1;

   

// 創建對話框

m_helloDialog.Create(IDD_HELLODIALOG);

 

return 0;

}

 

void CHelloCtrl::DoHello()

 

{

// 顯示對話框

m_helloDialog.ShowWindow(SW_SHOW);

}

 

 

---- 下面介紹制作以對話框作為界面的ActiveX控件技術,制作步驟如下:

 

在上面工作的基礎上,設置對話框資源IDD_HELLODIALOG屬性的Style頁為

Style:Child、Border:Dialog Frame、Title Bar:unchecked;設置More Style

頁為Visible:checked;Control:checked;設置Extended Styles頁為

Static Edge:checked;

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved