免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Visual C .NET編程講座之四(3)


  工具欄設(shè)計(jì)及與菜單命令的聯(lián)動(dòng)


  工具欄上通常有一系列的工具按鈕,所有的按鈕圖像都具有相同的尺寸,一般是15像素高,16像素寬,借助它們可以提高用戶的工作效率,并且將常用的菜單命令也放在工具欄上,它們實(shí)際是命令不同的用戶方式。


  1. 添加并設(shè)計(jì)工具欄


  (1) 將解決方案資源管理器窗口切換到"資源視圖",展開后右擊Toolbar,在彈出的快捷菜單中單擊"插入Toolbar"。這樣,一個(gè)工具欄資源就添加到項(xiàng)目中,默認(rèn)的標(biāo)識(shí)為IDR_TOOLBAR1。


  (2) 添加并設(shè)計(jì)2個(gè)工具按鈕,結(jié)果如圖10所示。


 


圖11 工具按鈕的設(shè)計(jì)


  由于其編輯操作與Windows的畫圖相類似,故這里僅列出操作的一些技巧:


 ?、?單擊空白按鈕后就可以編輯其圖像,同時(shí)系統(tǒng)在隨后的位置自動(dòng)添加一個(gè)空白按鈕。


  ② 用鼠標(biāo)可以將一個(gè)按鈕拖放到工具欄上的其他位置上。若拖動(dòng)時(shí)按下Ctrl鍵,則復(fù)制一個(gè)工具按鈕。若將工具按鈕拖出工具欄,則該工具按鈕被刪除。


 ?、?按Delete鍵可以將當(dāng)前工具按鈕的圖像用背景色填充。


 ?、?在工具按鈕之間添加間隔時(shí),可按不同情況來操作。若工具按扭前沒有任何間隔,拖動(dòng)該工具按鈕向右直到它覆蓋相鄰工具按鈕的一半以上后,釋放鼠標(biāo)鍵,則此工具按鈕前出現(xiàn)間隔。若工具按鈕前面有間隔而后面沒有間隔,拖動(dòng)該工具按鈕向左直到它的左邊界接觸到它前面的工具按鈕為止,釋放鼠標(biāo)鍵,則此工具按鈕后面將出現(xiàn)間隔。


 ?、?若工具按鈕前后均有間隔,拖動(dòng)該工具按鈕向右直到它接觸相鄰工具按鈕,則此工具按鈕前的間隔保留,工具按鈕后的間隔消失。反之,若拖動(dòng)該工具按鈕向左直到它接觸相鄰的前一個(gè)工具按鈕,則此工具按鈕前面的間隔消失,后面的間隔仍保留。


  ⑥ 刪除工具按鈕間隔時(shí),只要將間隔一端的工具按鈕拖向間隔另一端的工具按鈕,直到與另一個(gè)按鈕重疊一半以上即可。


  (3) 單擊第一個(gè)工具按鈕,在工具按鈕的屬性窗口中,將其ID號(hào)選擇為ID_FORMAT_TXTFONT,這是將工具按鈕與菜單命令聯(lián)動(dòng)的關(guān)鍵。將其Prompt屬性內(nèi)容改成"改變顯示的字體\n字體"。Prompt屬性是用來指定工具按鈕的提示文本。例如若為"改變顯示的字體\n字體"時(shí),則表示當(dāng)鼠標(biāo)移至該工具按鈕時(shí),在狀態(tài)欄中就會(huì)顯示"改變顯示的字體",稍等片刻后還會(huì)彈出一個(gè)小的提示窗口,顯示出"字體"字樣。注意:提示窗口顯示的內(nèi)容是Prompt屬性字符串中"\n"后的內(nèi)容。


  (4) 將第二個(gè)工具按鈕的ID號(hào)選擇為ID_FORMAT_TXTCOLOR,Prompt設(shè)為"改變文本的顯示顏色\n顏色"。


  2. 工具欄代碼的實(shí)現(xiàn)


  (1) 在CMainFrame類中添加一個(gè)成員變量m_wndFormatBar,變量類型為CToolBar。CToolBar類封裝了工具欄的操作。


  (2) 在CMainFrame::OnCreate()函數(shù)中添加工具欄的創(chuàng)建代碼,如圖11所示的加框部分。



圖12 添加的工具欄的創(chuàng)建代碼

 


  程序說明:


 ?、?主框架類CMainFrame用來負(fù)責(zé)窗口的菜單欄、工具欄和狀態(tài)欄的創(chuàng)建和更新工作。因此我們將工具欄的創(chuàng)建代碼添加在CMainFrame的OnCreate()函數(shù)中。


 ?、?CreateEx()是CToolBar類的成員函數(shù),用來創(chuàng)建一個(gè)工具欄對(duì)象。


  ③ if語句的LoadToolBar()函數(shù)是用來裝載工具欄資源。若CreateEx()或LoadToolBar()的返回值為0,即調(diào)用不成功,則顯示診斷信息"未能創(chuàng)建工具欄"。TRACE0是一個(gè)用于程序調(diào)試的跟蹤宏。OnCreate()函數(shù)返回-1時(shí),主框架窗口被清除。


 ?、?應(yīng)用程序中的工具欄一般具有停靠或浮動(dòng)特性,m_wndFormatBar.EnableDocking()使得m_wndFormatBar對(duì)象可以停靠,CBRS_ALIGN_ANY表示可以??吭诖翱诘娜我贿?。 EnableDocking(CBRS_ALIGN_ANY)是調(diào)用的是CFrameWnd類的成員函數(shù),用來讓工具欄或其他控制條在主框架窗口可以進(jìn)行??坎僮?。DockControlBar()也是CFrameWnd類的成員函數(shù),用來將指定的工具欄或其他控制條進(jìn)行??俊?/p>


 ?、?AFX_IDW_TOOLBAR是系統(tǒng)內(nèi)部的工具欄子窗口標(biāo)識(shí),并將AFX_IDW_TOOLBAR+1的值表示默認(rèn)的狀態(tài)欄子窗口標(biāo)識(shí)。如果在創(chuàng)建新的工具欄時(shí)沒有指定相應(yīng)的子窗口標(biāo)識(shí),則會(huì)使用默認(rèn)的AFX_IDW_TOOLBAR。這樣,當(dāng)打開"視圖"菜單時(shí),單擊"工具欄"菜單時(shí),顯示或隱藏的工具欄不是原來的工具欄而是新添加的工具欄。因此,我們需要重新指定工具欄子窗口的標(biāo)識(shí),并使其值等于AFX_IDW_TOOLBAR + 10。


  (3) 運(yùn)行程序,可以看到新添加的工具欄,如圖12所示,左圖是工具欄開始的停靠情況,右圖是工具欄浮動(dòng)的情形。




圖13 新工具欄的??亢透?dòng)

 


  需要說明的是,上述工具按鈕是與菜單命令聯(lián)動(dòng),因此無需進(jìn)行工具按鈕命令的消息映射,因?yàn)樵撁钜言诓藛尾僮髟撁钜延成溥^。若是單獨(dú)一個(gè)工具按鈕,則需要對(duì)該工具按鈕進(jìn)行命令消息的映射,否則按鈕是灰顯的。工具按鈕的命令消息映射方法與菜單命令相同。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Excel XP小技巧,實(shí)用一生。
*最簡(jiǎn)單的翻頁相冊(cè)(ps教程)
Excel操作技巧(3)
PhotoImpact數(shù)碼相片處理80例
學(xué)習(xí)考試]Excel會(huì)計(jì)應(yīng)學(xué)35招秘
EXCEL操作技巧
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服