亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 18.7 activex 控件測試程序.txt

?? 網上第一本以TXT格式的VC++深入詳解孫鑫的書.全文全以TXT格式,并每一章節都分了目錄,清晰易讀
?? TXT
字號:
18.7 ActiveX 控件測試程序

試程序
下面,再利用VC++編寫一個 ActiveX控件的測試程序。新建一個基于對話框的工程,工程取名為: ClockTest,井刪除自動生
成的對話框資源上的靜態文本控件。在 VC++開發環境中,如果想要在對話框資源上添加一個ActiveX控件,方法是:在對話框資源上單擊鼠標右鍵,從彈出的快捷菜單中選擇【Insert ActiveX Control..】菜單項,這時,將顯示如圖 18.47所示的對話框,在此對話框中找到Clock控件井選中,然后單擊【OK】按鈕關閉該對話框即可。 

「刻畫

巳J 
E巳」

Class I CIIIS1i二I 
PIi.: 
D~YC.J章可恨"盹們\Clect陽m峙。.劇團
圖 18.47在VC程序中插入ActiveX控件的對話框

這時,在對話框資源上就插入了Clock控件。可以通過此控件提供的屬性表單設置其屬性,方法是在該控件上單擊鼠標右鍵,從彈出的快捷菜單上選擇【特性】菜單項,即可顯示該控件的屬性表單,如圖 18.48所示。在此屬性表單上,我們將Clock控件的時間間隔修改為2000,背景色修改為紅色、背景色設置為藍色。然后單擊VC++開發窗口左下角的測試按鈕,對ClockTest的對話框界面進行簡單的測試,讀者將會看到Clock這個ActiveX控件顯示的時間每隔2秒跳動一次。 
F1m1!1川rml.u,liü;UW;1火咽'國 [~ Y Gener副 I CDntrDd顏色|劇I I 
h町01: 12000 

圖 18.48在VC開發環境中利用Cootrol控件的屬性表單設置控件的屬性


694 I脅" 
VCII深λ詳解

在 VC++中,另一種插入 ActiveX控件的方法是,選擇【Projec t'\Add To Project飛 Components and Controls. .】菜單項,將顯示如圖 18 .49所示的對話框。 
t WIIlO 

Chooae 8四mpllnent ... Inaert InIII your prIIJect 
董翩'也) . r臼仙町 3伊~~四· 
R唄吏更旦旦tlveX Cortr坐j 
ViSUaI C++ Coo‘四曬白
到陌ζ旺ATE . OIR

文件各咂) : 
r E豆E

坐~
生巴!工」 

pa晴,''' conlrol: 
廠一一一一 


4至
圖 18 .49添加組件和控件的對話框

在此對話框中,雙擊 "Registered ActiveX Controls"目錄,井在此目錄下找到 Clock控件并選中,如圖 18.50所示。然后單擊【Insert】按鈕,并單擊隨后顯示的確認對話框上的【確認】按鈕,這時將出現如圖 18.51所示的對話框。 
l"'1'1"'111川、 d 1l d I !J ntrur'l> fierlt'ry圃---衛星l 
咀~

er.letl.... r
Cho..e.....--回幅靦...‘陽..,.曬,..jed: TIOe d回 cbd Paaaje.)w嗣 M …lIOe Ad曲曲<c.由回. C鵬曲 ...d...na.e. L 巳斗E踴田 ω1 1::坦問..1叫 .c \i....x Co山山二J..Itl~四· .............. ..恤......旦巳」
團川 1111 k 
a... 
<<wd 
.!.l 
宜伸~IIJ ''''' la,i_t I 

C.睛剖 
旦旦」CI….....e: B…d…: 
ICCIDcIc C馴M 

巴旦」
H..曲.1Ie:
陌「 
p.由恒。"曲時: 
1"回國..睛"靦·田.:
P伽,.,憂帽,1E1"1脅d腳幅-憂靦也陽 網友寫7一一

4 

圖 18.50向 VC工程添加 C10ck控件 圖 18.51插入控件時產生的封裝類
當通過這種方法插入 ActiveX控件時,會在工程中為該控件生成一個類,這里就為 Clock控件生成了一個類,類名為 CC1ock,其基類是 CWnd o該類是控件的封裝類,它封裝了對這個 ActiveX控件進行訪問的一些操作。單擊【 OK】按鈕關閉該對話框,井單擊【 Close】按鈕關閉插入組件和控件的對話框。這時,在 ClockTest工程的 ClassView選項卡上,可以看到增加了一個類: CClock,該類提供了一些函數,我們只需要調用這些函數就可以訪問 Clock這個 ActiveX控件的方法和屬性。同時,在工具箱上也增加了 Clock控件
第 18

ActiveX" 擅悻‘ 
的圖標,如圖 18.52所示。我們只需要單擊該圖標,并在對話框資源上拖放一塊合適的區域就可以放置一個 Clock控件,通過其屬性表單修改其屬性。 
Contros咀

廈一@+圄

hB
口國國國制圃 回回國留礙盟
'BRu 
L
口李日


E


圖 18.52在工具箱上添加的 Clock控件圖標

上面介紹的向 VC++工程中添加控件的方法都是靜態的,實際上,在程序中也可以動態地產生一個 Clock控件,首先將 ClockTest工程的對話框資源上己增加的 Clock控件刪除,然后增加一個按鈕控件,并雙擊該按鈕,接受默認的函數名稱,即為該按鈕生成一個單擊命令響應函數: OnButton1。然后為 CClockTestDlg類增加一個私有的成員變量,類型是: CClock,名稱是 ffi_c1ock。并且在 CClockTestDlg類的頭文件中包含 CClock類的定義,即在 ClockTestDlg.h文件中在 CClockTestDlg類定義之前添加下面這條語句。 
#include .clock.h" 
接下來就可以在 OnButtonl函數中利用 ffi_c1ock這個對象,調用 CClock類的方法對 Clock控件進行操作了。 OnButton1函數最終代碼如例 18-21所示。
例 18-21 

vo工 d CClockTestDlg: :OnButtonl( ) 
// TODO : Add your cont r ol notification handl er code here ffi_clock. Create( "Cl ock" , WS_CHILD I WS_VISIBLE, CRect (Q, Q, lQQ , 50l , t his , 123); 
上述例 18-21所示代碼利用 CClock這個類的 Create方法動態創建一個 Clock控件。這里,利用控件封裝類產生一個控件,與我們以前利用 CButton類動態產生一個按鈕控件的操作是一樣的,也是調用控件類的創建方法,這里就是調用 CClock類對象的 Create方法來實現的。該函數的第一個參數指定控件的文本,本例設置為 "Clock";第二個參數是窗口的類型,因為 Clock這個 ActiveX控件也是一個窗口類型的對象,所以它也具有窗口的標準類型,因此這里將其類型設置為 WS_CHILD和 WS_VISIBLE;第三個參數指定控件窗口在對話框中占據的區域:第四個參數為這個控件指定父窗口,即對話框窗口;最后一個參數指定控件的 ID,這里可以給其任意指定一個值。 
Build并運行 ClockTest程序,當單擊對話框上的【 Buttonl】按鈕時,在對話框窗口的左上角就會出現一個時鐘控件。結果如圖 18.53所示。
擬燦
|主叩 

12:08:21 
01 
E豆」 

,-…
Butto.n1 
圖 18.53動態創建 Clock控件的程序運行結果

另外,還可以利用 m clock這個對象去調用 Clock控件的方法,例如 Hello方法。在上述例 18 -21所示 CClockTes tD lg類 OnButtonl函數的最后添加下面這條語句: 
m_clock.Hello(); 

Build并運行 ClockTest程序,當單擊對話框上的【 Buttonl】按鈕時,在對話框窗口的左上角就會出現一個時鐘控件,同時會顯示一個信息框,上面顯示的信息是 "Hello",這是調用 Clock控件的 Hello方法的結果,這時程序的界面如圖 18.54所示。 
ζ二 C ockT e<i t 氣芳:沒怒運惡現囂翅圃  
12:11:59  01  
II!M  1  
陸勘WOrId!  
But龜。nl 


圖 18.54動態創建 C10ck控件并調用其 HeUo方法后的結果

在 Clock控件的封裝類 CClock中,可以看到該類還提供了 SetBackColor和 SetForeColor等方法。還可以利用這些方法設置 Clock控件的背景色和前景色。這些方法自然會調用 Clock控件中相應的設置屬性的方法。因此,在上述 CClockTestDlg類的 OnButtonl函數的最后添加如例 18-22所示代碼中兩條加灰顯示的語句(注:為了能夠立即看到屬性設置的效果,這里可以將該函數中己有的 He l10調用代碼注釋起來)。
例 18-22 

void CClockTestDlg: :OnButtonl() 

{ 
創~ 1697 


18章 ActiveX撞件 

11 TODO : Add your control notification handler code here m_clock.Create( "Clock ", WS_CHILD I WS_VISIBLE , CRect(O , O, 100 , 50) , this , 123) ; 
11 	m_clock .Hello() ; m_clock.Set BackColor(RGB(O , O, 255)) ; m_clock .SetForeColor(RGB (255 , O, O)) ; 
可以直接給 SetBackColor和 SetForeCo lor這兩個函數的參數傳遞一個 RGB類型的顏色值,這里,我們將 Clock控件的背景色設置為藍色,前景色,也就是文本色設置為紅色。 
Build并運行 ClockTes t程序,當單擊對話框上的【 Buttonl】按鈕時,將會看到在對話框窗口的左上角出現一個時鐘控件,井且該控件是藍底紅字。
另外,還可以調用 CClock類的 SetInterval函數設置 Clock控件的 Interval屬性,通過調用 GetInterval函數得到該屬性值。
以上就是對 ActiveX控件的屬性和方法的訪問方法。在 VC中,對屬性和方法都是通過相應的函數來訪問的。下面,讓我們看看在 VC中訪問 ActiveX控件的事件的方法。首先在對話框資源上放置一個 Clock控件,然后在該控件上單擊鼠標右鍵,從彈出的快捷菜單上選擇【 ClassWizard. .】,將打開如圖 18.55所示的對話框。可以看到,通過 Class Wizard 可以為 Clock控件增加 Click事件和 NewMinute事件。如果想要增加某個事件,在此對話框中選中該事件,然后單擊【 Add Function...】按鈕即可。
|噸 f I (lcl"''iWl.ldrd  ' 1'-塞型國  -1.I..!tl  
We..咱脅,叫 M川川劇.blt:. 1Aut翩翩on  I AdIV雹XEvenl.  I Cα1..川nfo 1  
eoJcct I CloclcTe剖二1 O:\...\CloctTe etD l哪兒 D:\... \CloctTe etDlg . cpp  Cless neme: ICClockTeslOlg  Add CI..s... . 13. ' 旦旦旦斗  
ObJed 10.:  Me...gea:  aelete'Fun耐。"  I  
NewM inute  旦旦~  


".翩
脅廳叮

v -Jdux 
W 

.

耐寸

ZD

.""〕〕配
? 

" 
n
.

-T-D
On刷刷"1
OnlnllOl.log 
白‘"
m
e

i
.


10C BunON1 :BN CLlCICED

。N 
響, 
ON_\I而叫 INITD隊LO G 
W OnP.lnt ON \1而叫 PAINT W OnOueryO r.glco" ON_\I州 OUERYORAGICON 二J 
Oea國ptlon:
] C旦~

圖 18 .55通過 ClassWizard顯示可以為 Clock控件添加其響應的事件

當然,也可以在對話框資源上,在 Clock控件上單擊鼠標右鍵,從彈出的快捷菜單上選擇【 Events...】菜單項,這時將顯示如圖 18.56所示的對話框。同樣可以看到,可以為 Clock控件增加 Click和 NewMinute事件。如果想要增加某個事件,在該對話框中選中該事件,然后單擊【 Add Handler】或者【 Add and Edit】按鈕即可。


l~'11Ii呻E肌叫阿呵.2" m1.1J,,1Zbim,l'!I'ftmwuiii:í<<r.'I"a:lllil劇。-曲. .ll. 
Itew 'NIndows me...ge機眠的咽 m叫 
11lid: 

NewMlnute 
E
旦出

。.'.0' 


-· o

EE

r

w-

a dn-
as-.,
m-
m-
e -" 
rnuc…呻陽 OYO叫一…一一一
S

同日

』悔自
翁"-
'
· 

-

-F 

-
, 
m 
-8
牛。
' 

圖 18.56 Clock控件具有的事件

這里,我們為 Clock控件增加 Click和 NewMinute這兩個事件的處理。然后在這兩個事件的響應函數中,都調用 MessageBox函數彈出一個信息框,提示用戶當前發生的事件,具體實現代碼如例 18-23所示。
例 18-23 

void CClockTestDlg : :OnClickClockctrll() 
// TODO : Add your control notification handler code here 
MessageBox( "control is clicked!"}; 

void CClockTestDlg : :OnNewMinuteClockctrll(} 
// TODO: Add your control notification handler code here 
MessageBox ("new minute! ") ; 

Build并運行 ClockTest程序,在對話框上顯示的 Clock控件上單擊鼠標左鍵,這時彈出一個消息框,提示: "control is cIicked! "。井且當新的一分鐘到來時,程序會彈出一個消息框,提示: "new minute!"。
單擊對話框上的【 Buttonl】按鈕,這里對話框左上角將出現剛才動態創建的那個 Clock控件,用鼠標左鍵單擊該控件,程序并沒有彈出消息框。這是因為我們只對對話框上靜態創建的 Clock控件進行了事件響應。那么對動態創建的 Clock控件,應該如何響應它的事件呢?讀者應記得,先前在調用 Create函數創建該動態 Clock控件時,指定了它的囚,如果想對一個動態創建的 ActiveX控件的事件進行響應,讀者可以參看 ClockTestDlg叩p源文件中為靜態創建的 Clock控件自動生成的事件響應代碼(其中事件映射代碼如例 18-24 
. 
喝喝....... 1699 


第 18 
所示).然后試著自行完成。
例 18-24 
BEGIN_EVENTSINK_MAP(CClockTestDlg , CDialog) 
//{{AFX_EVENTSINK_MAP(CClockTestDlg) 
ON_EVENT(CClockTestDlg,工 DC_CLOCKCTRL1, -600 /* Click * /, OnClick Clockctrll , VTS_NONE) ON_EVENT(CClockTestDlg , IDC_CLOCKCTRL1 , 1 /* NewM工 nute * /, OnNewMinute Clockctrll , VTS NONE) //}}AFX-EVENTS工 NK MAP END_EVENTS工 NK_MAP () 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲制服丝袜av| 欧美日韩精品一区二区| 视频一区免费在线观看| 中文字幕成人在线观看| 精品国产91洋老外米糕| 国产成人精品一区二区三区网站观看| 亚洲国产sm捆绑调教视频| 51久久夜色精品国产麻豆| 精品一区二区免费视频| 中文字幕一区二区三区四区不卡 | 最新日韩av在线| 欧美精品一区二区高清在线观看 | 欧美日韩一区高清| 亚洲成人在线免费| 日韩一区在线免费观看| 日韩一区二区在线看片| 91性感美女视频| 国产高清不卡二三区| 激情综合色播五月| 日韩国产一二三区| 亚洲第一成年网| 亚洲人成亚洲人成在线观看图片| 欧美日韩国产综合一区二区三区| 欧美性极品少妇| 色呦呦一区二区三区| 亚洲成人av在线电影| 日本一区二区视频在线| 欧美精品一区男女天堂| 欧美一区二区三区视频在线| 欧美大片一区二区| 不卡视频一二三| 亚洲国产cao| 国产精品色呦呦| 日本一区二区三级电影在线观看| 色综合久久久久久久久| 在线观看成人小视频| 色偷偷久久一区二区三区| 99精品久久久久久| 99精品一区二区三区| 日韩激情一二三区| 美女在线观看视频一区二区| 日韩精品三区四区| 久久精品在这里| 国产精品电影一区二区三区| 亚洲午夜一区二区| 日本一区二区免费在线观看视频 | 亚洲国产欧美在线人成| www激情久久| 欧美激情一区二区三区在线| 亚洲激情图片小说视频| 久久综合狠狠综合| 欧美一区二区三区播放老司机| 精品少妇一区二区三区视频免付费| 99视频有精品| 国产91露脸合集magnet| 国产91富婆露脸刺激对白| 成人开心网精品视频| 欧美人与z0zoxxxx视频| 色综合一区二区三区| 欧美偷拍一区二区| 欧美卡1卡2卡| 一本久久精品一区二区| 欧美日韩一级大片网址| 亚洲国产成人私人影院tom | 国产91在线观看| 另类中文字幕网| 亚洲图片自拍偷拍| 亚洲一区影音先锋| 精久久久久久久久久久| 成年人网站91| 91最新地址在线播放| 欧美日韩一区二区欧美激情| 99精品视频免费在线观看| 337p日本欧洲亚洲大胆精品| 亚洲色图色小说| 午夜精品久久久久久久99樱桃| 亚洲.国产.中文慕字在线| 国产一区二区中文字幕| 国产99久久久国产精品免费看 | 午夜欧美在线一二页| 亚洲h动漫在线| 亚洲成av人在线观看| 91丝袜美女网| 日本高清不卡一区| 欧美日韩精品一区二区天天拍小说 | 中文一区二区完整视频在线观看| 国产情人综合久久777777| 国产亚洲欧美一级| 欧美激情在线看| 国产麻豆91精品| 波多野结衣91| 色综合天天综合色综合av| 国产精品久久久久久妇女6080| 美女视频黄a大片欧美| 欧美精品v国产精品v日韩精品| 中文字幕精品一区| 韩国精品在线观看| 欧美怡红院视频| 亚洲你懂的在线视频| 亚洲综合免费观看高清完整版在线| 一区二区三区在线观看视频| 高清久久久久久| 欧美中文字幕一区二区三区亚洲| 中日韩av电影| 色综合久久中文字幕综合网 | 亚洲欧美日韩在线不卡| 日韩电影一二三区| 欧美日韩一级二级三级| 日韩欧美激情一区| 国产尤物一区二区在线| 日韩欧美亚洲另类制服综合在线| 久久久久久99精品| 日韩国产欧美在线观看| 欧美日韩一卡二卡三卡 | 91美女蜜桃在线| 精品国产一二三| 九色|91porny| 色天天综合色天天久久| 亚洲国产人成综合网站| 欧美日韩精品欧美日韩精品一| 亚洲一区二区三区视频在线播放| 欧美精品日日鲁夜夜添| 日日摸夜夜添夜夜添国产精品| 粉嫩绯色av一区二区在线观看| 国产日韩av一区| 成人av网址在线| 久久九九全国免费| 午夜电影一区二区| 欧美一区二区三区在线| 亚洲18影院在线观看| 欧美一级高清片| 久久国产三级精品| 日韩欧美一区二区不卡| 一区二区三区加勒比av| 日韩精品中文字幕在线一区| 日本aⅴ免费视频一区二区三区| 日韩欧美你懂的| 性感美女极品91精品| 丁香激情综合五月| 日韩不卡在线观看日韩不卡视频| 色综合网色综合| 久久美女艺术照精彩视频福利播放| 亚洲成av人**亚洲成av**| 日韩欧美一区在线观看| 91啪亚洲精品| 日韩精品91亚洲二区在线观看| 91精品欧美福利在线观看| 99视频精品在线| 日韩制服丝袜av| 国产精品美女久久福利网站| 久久99日本精品| 中文字幕一区二区三区av| 91影院在线观看| 成人免费一区二区三区视频| 亚洲成a人v欧美综合天堂| 中文字幕免费一区| 欧美人牲a欧美精品| av在线免费不卡| 麻豆精品视频在线观看视频| 亚洲国产精品一区二区久久| 在线免费视频一区二区| 国产欧美日韩三级| 972aa.com艺术欧美| 一区视频在线播放| 日本欧美一区二区| 一卡二卡欧美日韩| 欧美午夜在线一二页| fc2成人免费人成在线观看播放| 国产精品午夜久久| 欧美xxxxxxxx| eeuss影院一区二区三区| 免费成人你懂的| 亚洲欧美日韩综合aⅴ视频| 国产精品无遮挡| 亚洲精品一区二区在线观看| 日韩欧美国产精品| 国产成a人亚洲| 久久不见久久见中文字幕免费| 欧美国产国产综合| 国产成人av一区二区三区在线| 久久99精品一区二区三区三区| 一二三区精品视频| 欧美福利电影网| 在线不卡中文字幕播放| 在线国产亚洲欧美| 欧美日韩视频在线观看一区二区三区 | 亚洲国产日日夜夜| 欧美一级日韩免费不卡| av毛片久久久久**hd| 国产精品综合在线视频| 亚洲天堂免费在线观看视频| 亚洲欧美国产77777| 国产精品不卡一区二区三区| 综合激情网...| 中文字幕一区在线观看| 精品黑人一区二区三区久久| 精品久久久久久无| 五月激情丁香一区二区三区| 国产亚洲精品aa| 在线免费视频一区二区|