精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C#改寫(xiě)WM_GETTEXT處理例程

開(kāi)發(fā) 后端
這里介紹C#改寫(xiě)WM_GETTEXT處理例程,包括介紹示范如何在C#程序中定制和修改MDI應(yīng)用的窗口標(biāo)題和MainWindow 是唯一一個(gè)存取該字符串的類(lèi)。

在向大家詳細(xì)介紹C#改寫(xiě)WM_GETTEXT處理例程之前,首先讓大家了解下MDI應(yīng)用,然后全面介紹C#改寫(xiě)WM_GETTEXT處理例程。

如果你用 MFC 編寫(xiě)過(guò)多文檔界面(MDI)Windows 程序,那么肯定知道:如果父窗口標(biāo)題為“PCaption”,子窗口標(biāo)題為“CCaption”,那么每當(dāng)子窗口***化并處于激活狀態(tài)時(shí),子窗口標(biāo)題一般都會(huì)與父窗口標(biāo)題合二為一,變成“PCaption-[CCaption]”。 這是一種 MDI 的默認(rèn)行為。用 C# 編寫(xiě)多文檔界面程序也不例外。很多用戶都不喜歡這種缺省特性,往往想用定制的窗口標(biāo)題取而代之。以及將示范如何在C#程序中定制和修改MDI應(yīng)用的窗口標(biāo)題。 

如果用MFC來(lái)編程,只要改寫(xiě)框架窗口類(lèi)的虛函數(shù) CFrameWnd::OnUpdateFrameTitle 即可。那么在微軟的 .NET 框架中如何用C#實(shí)現(xiàn)相同的功能呢?首先,我們必須理解 MDI 本身是如何通過(guò) Windows 核心 API 來(lái)實(shí)現(xiàn)自己的行為特性的,其實(shí)這與MFC或者.NET的公共語(yǔ)言運(yùn)行時(shí)(CLR)沒(méi)有什么關(guān)系。在創(chuàng)建MDI應(yīng)用時(shí),框架及其子窗口有各自專(zhuān)門(mén)的窗口過(guò)程,DefFrameProc 和 DefMDIChildProc,一個(gè)處理各種 WM_MDIXXX 消息以及其它類(lèi)似 WM_SIZE, WM_SYSCOMMAND 的消息,另一個(gè)實(shí)現(xiàn) MDI 行為。

如果用純 C 代碼編寫(xiě),那么必須自己負(fù)責(zé)用 DefFrameProc 和 DefMDIChildProc 創(chuàng)建窗口;在 MFC 中則使用 CMDIFrameWnd/CMDIChildWnd;.NET 框架平臺(tái)里則設(shè)置 Form.IsMdiContainer 和 Form.MdiParent,不管用哪種方式,其核心都是 user kernel,尤其是 DefFrameProc,當(dāng) MDI 子窗口***化時(shí),它會(huì)聯(lián)接父子窗口的標(biāo)題文本來(lái)產(chǎn)生主窗口標(biāo)題串。理解了這一點(diǎn),下面我來(lái)示范如何改寫(xiě)MDI。這個(gè)例子的原始版本來(lái)自 MSDN 庫(kù)中用C#寫(xiě)的 Scribble MDI(用 “scribble sample”搜索一下即可找到)。基本思路是首先在 Scribble 例子的 MainWindow 中改寫(xiě) WM_GETTEXT 消息處理例程,必須添加兩個(gè)數(shù)據(jù)成員:NormalText 和 MaximizedText,用它們來(lái)保存常態(tài)和***化狀態(tài)的標(biāo)題 :

  1. // in Scribble.cs, MainWindow class  
  2. private String NormalText = "Scribble2";  
  3. private String MaximizedText = "Window is now maximized";  
  4. //如果想讓其它類(lèi)存取這兩個(gè)成員,那么可以通過(guò)屬性機(jī)制代替數(shù)據(jù)成員  
  5. private String normaltext;  
  6. public String NormalText  
  7. {  
  8. get { return normaltext; }  
  9. set { normaltext = value; }  

因?yàn)樵诶映绦蛑?MainWindow 是唯一一個(gè)存取該字符串的類(lèi),所以沒(méi)有必要使用屬性機(jī)制。有了這兩個(gè)新的數(shù)據(jù)成員,你要做的只是C#改寫(xiě)WM_GETTEXT處理例程,返回子窗口***化狀態(tài)以及常態(tài)時(shí)的標(biāo)題文本。那么如何C#改寫(xiě)WM_GETTEXT處理例程呢?

Windows.Forms 提供了一些 處理 WM_XXX 消息的虛擬函數(shù),如 OnResize/WM_SIZE等,但是恰恰缺少與 WM_GETTEXT 相關(guān)東東(OnGetText/WM_GETTEXT)。不要擔(dān)心,沒(méi)有虛函數(shù),我們總是可以改寫(xiě)包羅萬(wàn)象的 WndProc 處理例程。為此必須知道所處理的消息ID,也就是 WM_GETTEXT 的消息 ID = 0x000D,有人會(huì)問(wèn),你是怎么知道這個(gè)消息的 ID 是 0x000D 啊,很簡(jiǎn)單,一種方法是運(yùn)行 SPY 獲取,另一種方法是直接查找Windows SDK 中的 winuser.h 頭文件。一旦你能深入到 WndProc 這一層次編寫(xiě)代碼,那么你基本上能用 C 語(yǔ)言寫(xiě)程序了,因?yàn)?Win32 API 和其它語(yǔ)言之間所有東東通過(guò) WPARAMs 和 LPARAMs 參數(shù)傳遞的,包括字符串在內(nèi)。對(duì)于 WM_GETTEXT 來(lái)說(shuō),Message.LParam 是指向 char* 的指針,Message.WParam 是該指針長(zhǎng)度。也就是說(shuō)你必須完成將文本串拷貝到調(diào)用者的緩沖里。好在這并不是太難,下面是程序代碼:

  1. public class MainWindow : System.Windows.Forms.Form  
  2. {  
  3. private String NormalText = "Scribble2";  
  4. private String MaximizedText = "Window is now maximized";   
  5. // Handle WM_GETTEXT: Return maximized or  
  6. // normal text, depending on  
  7. // state of active MDI child window.  
  8. protected override void WndProc(ref Message m)  
  9. {  
  10. const int WM_GETTEXT = 0x000D;  
  11. if (m.Msg==WM_GETTEXT) {  
  12. Form active = this.ActiveMdiChild;  
  13. String s = active!=null &&  
  14. active.WindowState==FormWindowState.Maximized ? MaximizedText :  
  15. NormalText;  
  16. char[] c = s.ToCharArray();  
  17. IntPtr buf = m.LParam;  
  18. int len = c.Length;  
  19. Marshal.Copy(c, 0, buf, Math.Min((int)m.WParam, len));  
  20. m.Result = (IntPtr)len;  
  21. return;  
  22. }  
  23. base.WndProc(ref m)  
  24. }  
  25. ...... 
  26. // rest of MainWindow unchanged from Scribble sample  

【編輯推薦】

  1. C# this關(guān)鍵字詳解
  2. C#調(diào)用析構(gòu)方法詳解
  3. C#釋放托管資源簡(jiǎn)單描述
  4. C#單路代理簡(jiǎn)單分析
  5. C#文法產(chǎn)生式概述
責(zé)任編輯:佚名 來(lái)源: CSDN
相關(guān)推薦

2009-08-14 17:38:08

C#改寫(xiě)方法

2009-08-12 15:20:21

C#事件處理

2009-08-07 17:45:29

C#預(yù)處理

2009-08-27 18:02:22

C#事件處理

2009-08-19 15:54:33

處理C#消息

2009-08-06 14:08:08

C#語(yǔ)言異常處理

2009-08-12 18:28:09

C#事件處理程序

2009-08-31 17:26:32

C#異常處理

2009-08-07 17:41:40

C#預(yù)處理

2009-09-01 10:10:51

C# StreamRe

2009-08-05 18:28:05

C#異常處理

2009-09-02 19:13:08

C#處理文本文件

2009-07-31 16:48:44

C#位運(yùn)算

2009-08-05 18:09:17

C#異常處理機(jī)制

2009-08-06 18:33:45

C#處理文本文件

2009-09-07 15:21:38

Java與C#事件處理

2009-09-02 14:00:34

C#文件處理

2009-09-17 09:20:45

C#操作XML

2009-09-23 09:36:34

C#數(shù)組

2024-04-28 11:25:02

C#JSON庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲亚洲人成综合网络| 久久99久国产精品黄毛片色诱| 精品日韩一区二区三区 | 国产丰满美女做爰| 亚洲视频综合| 亚洲一二三在线| 日韩欧美中文视频| 男人久久天堂| 国产精品欧美久久久久一区二区| 51成人做爰www免费看网站| 日韩美女视频网站| 97精品中文字幕| 亚洲国产成人精品一区二区 | 日韩视频免费观看高清完整版| 久久久久久久久久网| av免费在线一区二区三区| 国产精品一区二区三区乱码| 国产成人亚洲精品| 麻豆疯狂做受xxxx高潮视频| 欧美男男gaytwinkfreevideos| 欧美一卡二卡在线| 欧美性猛交久久久乱大交小说| 色呦呦网站在线观看| 欧美激情中文字幕| 精品伦精品一区二区三区视频| 一级黄色片免费| 欧美一级一区| 欧美极品第一页| 亚洲精品自拍视频在线观看| 偷拍精品福利视频导航| 日韩小视频在线观看专区| 亚洲色图久久久| xxxxx性欧美特大| 亚洲国产综合91精品麻豆| 在线观看亚洲视频啊啊啊啊| 日本韩国一区| 成人v精品蜜桃久久一区| 欧洲国内综合视频| 日韩伦理在线免费观看| 久久久久久久久免费视频| 久久久青草青青国产亚洲免观| 成人看片视频| 精品国产乱码一区二区三| 免费高清不卡av| 国产精品九九久久久久久久| 综合网在线观看| 国产欧美高清| 97婷婷大伊香蕉精品视频| 免看一级a毛片一片成人不卡| 婷婷色综合网| 久久精品免费播放| 亚洲少妇xxx| 天天做天天爱天天综合网| 神马国产精品影院av| 自拍偷拍你懂的| 日韩精品一区二区三区免费观看| 一区二区三区久久精品| 亚洲一二三精品| 久久精品不卡| 久久精品国产成人| 在线观看黄网址| 一区二区三区四区电影| 欧美国产日韩中文字幕在线| 久久久久久久福利| 影音先锋久久| 欧美一二三视频| 亚洲影院在线播放| 日av在线不卡| 国产日韩在线亚洲字幕中文| 国产在成人精品线拍偷自揄拍| 丝袜亚洲另类欧美| 国产精品永久免费视频| 91精品国自产| 国产白丝网站精品污在线入口| 国产成人亚洲欧美| 九色在线观看视频| 国产精品久久久久久户外露出| 中文字幕在线观看一区二区三区| 中文字幕有码在线观看| 亚洲成国产人片在线观看| 人妻熟妇乱又伦精品视频| 婷婷六月国产精品久久不卡| 欧美日韩免费不卡视频一区二区三区 | 亚洲欧美电影院| 成人免费观看在线| 你懂得影院夜精品a| 91麻豆精品国产综合久久久久久| 95视频在线观看| 亚洲系列另类av| 欧美精品一卡二卡| 午夜影院福利社| 国产精品一区二区av交换| 久久久精品国产| 日本一级淫片色费放| 日韩精品免费专区| 91精品久久久久久蜜桃| 三级毛片在线免费看| ●精品国产综合乱码久久久久| 国产精品又粗又长| 成人午夜一级| 亚洲的天堂在线中文字幕| 欧美激情视频二区| 亚洲无吗在线| 国产区亚洲区欧美区| 色呦呦中文字幕| 国产精品综合一区二区三区| 久久精品欧美| 搞黄网站在线观看| 91福利在线免费观看| 欧美丰满熟妇bbb久久久| 成人羞羞动漫| 97在线视频精品| 国产毛片久久久久| 国产日韩欧美不卡| 自慰无码一区二区三区| 国产人与zoxxxx另类91| 亚洲视频在线观看| 日本一级黄色大片| 国产二区国产一区在线观看| 亚洲一二三区在线| 成人短视频app| 精品对白一区国产伦| 久久高清内射无套| 蜜桃视频一区二区| 日本不卡一二三区| 岛国av在线播放| 日韩女优视频免费观看| 日本不卡一区视频| 日韩av不卡一区二区| 精品蜜桃传媒| 免费v片在线观看| 欧美精品一区二区三区视频| 欧美色图亚洲视频| 久久精品国产免费| 婷婷五月色综合| 中文字幕人成乱码在线观看| 亚洲国产成人久久综合| 久久久久无码国产精品不卡| 国产在线播精品第三| 亚洲精品乱码久久久久久蜜桃91| 国产精品一区二区av影院萌芽| 亚洲国产高清高潮精品美女| 国产亚洲精品久久777777| 国产精品中文字幕日韩精品| 一区二区三区精品国产| 福利视频亚洲| 色妞在线综合亚洲欧美| 高潮无码精品色欲av午夜福利 | 欧美一区二区三区成人精品| 精品999网站| 成人国产一区二区| 黑人精品视频| 精品国精品国产| 国产大片aaa| 99国内精品久久| 一本大道熟女人妻中文字幕在线| 久久aimee| 91av免费观看91av精品在线| 午夜小视频免费| 欧美日韩激情网| 一卡二卡三卡四卡| 日韩中文字幕麻豆| 亚洲午夜精品福利| 成人黄色理论片| 欧美大片免费观看在线观看网站推荐| 亚洲成熟女性毛茸茸| 亚洲午夜日本在线观看| xfplay5566色资源网站| 亚洲综合国产| 亚洲二区三区四区| 日韩免费在线电影| 欧美激情视频网站| 天堂av电影在线观看| 日本精品一级二级| 久草手机视频在线观看| 懂色av中文字幕一区二区三区| 日韩伦理在线免费观看| 国产亚洲一卡2卡3卡4卡新区| 国产精品色悠悠| 国产美女av在线| 亚洲激情视频在线观看| 中文字幕手机在线视频| 亚洲欧美视频一区| 野花社区视频在线观看| 国产精品熟妇一区二区三区四区| 欧美1区2区| 精品国产第一页| 精品免费av一区二区三区| 操日韩av在线电影| 欧美特黄一级视频| 欧美亚洲动漫精品| 久久久夜色精品| 国产日韩综合av| 麻豆网站免费观看| 久久精品五月| 欧美激情亚洲天堂| 精品一区av| 成人免费在线看片| 深夜成人影院| 欧美激情视频一区| 成人动漫在线播放| 精品久久久久久久久久久院品网 | 一本久道中文字幕精品亚洲嫩| 天天摸日日摸狠狠添| 国产成人a级片| wwwwxxxx日韩| 黄色日韩精品| 一区二区在线观看网站| 全国精品免费看| 51精品国产人成在线观看| 成人性教育av免费网址| 欧美日韩国产成人高清视频| 国产视频三级在线观看播放| 欧美成人video| 91欧美日韩麻豆精品| 狠狠色香婷婷久久亚洲精品| 欧美性x x x| 久久精品亚洲精品国产欧美kt∨| 国产一级二级av| 久久精品国产99| 亚洲人成无码www久久久| 亚洲黄色天堂| 亚洲一区 在线播放| 久久av中文| 好吊色欧美一区二区三区视频| 成人豆花视频| 国产欧美韩国高清| 97久久香蕉国产线看观看| 久久久久久久久久久亚洲| 成人免费高清| 搡老女人一区二区三区视频tv| 免费在线看v| 日韩精品在线免费| 欧美一区二区在线观看视频| 欧美一区二区三区免费在线看| 日韩xxx视频| 色欧美日韩亚洲| 中文字字幕在线中文| 婷婷六月综合亚洲| 国产亚洲色婷婷久久99精品| 亚洲免费观看高清完整版在线| 影音先锋男人在线| 国产日韩三级在线| 国产精品无码久久久久一区二区| 99久久国产综合精品麻豆| 挪威xxxx性hd极品| 成人午夜私人影院| 精品人妻二区中文字幕| 国产福利视频一区二区三区| ass极品水嫩小美女ass| 国产一区二区免费看| 岛国av免费在线| 国产乱子伦视频一区二区三区 | 精品一区二区在线播放| 日韩高清第一页| 久久aⅴ国产欧美74aaa| av噜噜在线观看| 韩国成人在线视频| 黄页网站在线看| 成人一级片网址| 国产精品扒开腿做爽爽爽a片唱戏 亚洲av成人精品一区二区三区 | 26uuu色噜噜精品一区二区| 小毛片在线观看| 26uuu久久天堂性欧美| 久久中文字幕人妻| 久久久久成人黄色影片| 国产精品无码在线| 久久天堂av综合合色蜜桃网| 一区二区精品免费| 国产精品美女视频| www.色小姐com| 亚洲国产精品欧美一二99| 探花视频在线观看| 欧美性猛交一区二区三区精品| 亚洲在线视频播放| 日韩一区二区麻豆国产| 污视频网站免费观看| 一区国产精品视频| 黄视频在线观看网站| 欧美精品九九久久| 日韩福利一区| 成人激情在线播放| 风间由美性色一区二区三区四区| 久久久久久久久一区二区| 日韩黄色大片| a天堂资源在线观看| 久久亚洲色图| 999久久久精品视频| 成人国产在线观看| 人妻av无码一区二区三区| 亚洲免费资源在线播放| 亚洲精品国产精品乱码| 欧美午夜不卡视频| 午夜精品久久久久久久99热黄桃| 国产午夜精品久久久| 浪潮av一区| 青青草成人在线| 国产日本亚洲| 日韩福利二区| 伊人久久大香线蕉av超碰演员| 国产野外作爱视频播放| 成人在线综合网| 激情五月深爱五月| 亚洲国产欧美日韩另类综合| 黄色一区二区视频| 亚洲国产成人久久综合| 国产在线1区| 日韩av片永久免费网站| 欧美成人精品一级| 日韩亚洲视频| av成人黄色| 天天操夜夜操很很操| 久久精品视频在线看| 精品在线视频免费观看| 欧美日韩成人在线一区| 亚洲欧美日韩动漫| 精品自在线视频| 成人在线免费电影网站| 老司机精品福利在线观看| 国产一区亚洲| 天天av天天操| 国产日本欧洲亚洲| 亚洲伊人成人网| 日韩视频免费观看高清完整版在线观看| 国产对白叫床清晰在线播放| 国内外成人免费激情在线视频网站 | 熟妇人妻系列aⅴ无码专区友真希| 日韩中文字幕免费视频| 欧美韩国亚洲| 欧美日韩最好看的视频| 亚洲欧洲综合| 久久免费精品国产| 亚洲精品美国一| 国产精品久久影视| 中文字幕九色91在线| 免费成人直播| 久久人人九九| 在线亚洲成人| 日本一级片在线播放| 亚洲国产精品久久人人爱蜜臀| 国产成人免费看一级大黄| 久久精品国产亚洲| 欧美高清你懂的| 亚洲乱码国产乱码精品天美传媒| 久久精品首页| 无码人妻aⅴ一区二区三区69岛| 高跟丝袜欧美一区| 你懂的视频在线| 日本精品久久电影| 综合伊思人在钱三区| 日韩精品一区二区三区不卡| 2021久久国产精品不只是精品| 日韩手机在线观看| 日韩av一区在线| 中文字幕在线直播| 日本10禁啪啪无遮挡免费一区二区| 翔田千里一区二区| 中文字幕第20页| 欧美午夜电影网| 成人黄色网址| 亚洲影院色无极综合| 欧美一级做a| 一区二区三区四区视频在线 | 国产传媒免费观看| 亚洲伦在线观看| 亚洲第一天堂在线观看| 久久久午夜视频| 亚洲自拍都市欧美小说| 日本999视频| 亚洲色欲色欲www在线观看| jizz中国少妇| 午夜剧场成人观在线视频免费观看| 激情视频极品美女日韩| 国产成人a亚洲精v品无码| 国产欧美精品在线观看| 国产美女免费视频| 久久久久免费精品国产| 影视先锋久久| 日本高清久久久| 亚洲一二三级电影| 三级毛片在线免费看| 国产美女91呻吟求| 国产精品v欧美精品v日本精品动漫| 一起草在线视频| 欧美日韩在线亚洲一区蜜芽| 五月天激情在线| 女女同性女同一区二区三区91| 免费看精品久久片| 欧美精品99久久久| 亚洲欧洲中文天堂| а天堂中文最新一区二区三区| 日本福利视频一区| 国产日韩欧美高清在线| www.97av| 国产精品1234| 欧美在线亚洲综合一区| 国精产品一区一区三区免费视频| 欧美乱妇一区二区三区不卡视频| 爱情岛论坛亚洲品质自拍视频网站| 人禽交欧美网站免费|