精品欧美一区二区三区在线观看 _久久久久国色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)

久久精品2019中文字幕| 中文字幕精品在线不卡| 91精品国产精品| 日韩人妻无码精品综合区| 麻豆精品蜜桃| 亚洲专区一二三| 欧洲国产精品| 亚洲精品无码专区| 日本特黄久久久高潮| 国产精品传媒入口麻豆| 91文字幕巨乱亚洲香蕉| 欧美日韩中文字幕视频| 性国裸体高清亚洲| 国产精品美女久久久久久| 国产不卡一区二区在线观看| 国产精品suv一区| 欧美福利在线播放网址导航| 在线视频观看一区| 男女激情免费视频| 日韩三级影院| 91麻豆免费在线观看| 亚洲伊人久久综合| 中国女人真人一级毛片| 亚洲激情精品| 久久综合久久88| 精品亚洲aⅴ无码一区二区三区| 91综合久久爱com| 欧美精品国产精品| 国产超级av在线| 成人福利影视| 尤物av一区二区| 亚洲xxx自由成熟| 久久久久在线视频| 在线欧美不卡| 欧美另类在线播放| 免费成人深夜蜜桃视频| 蜜臀av免费一区二区三区| 高跟丝袜一区二区三区| 亚洲一区 在线播放| 91在线播放网站| 国产日韩欧美亚洲| 国产美女久久精品| 久久久久久少妇| 伊人久久大香线蕉综合热线| 久久国产加勒比精品无码| 亚洲天堂精品一区| 日本激情一区| 日韩精品免费观看| 亚洲激情 欧美| 黄色免费大全亚洲| 欧美性极品少妇精品网站| 高清欧美精品xxxxx| 日本一本在线免费福利| 亚洲精品高清在线观看| 中文字幕一区二区三区有限公司| 成人77777| 国产又黄又大久久| 成人国产亚洲精品a区天堂华泰| 三级黄色免费观看| 欧美3p在线观看| 久久精品成人一区二区三区| 五月天色婷婷丁香| 91精品精品| 欧美黑人极品猛少妇色xxxxx | 国产精品萝li| 国产av不卡一区二区| 污污片在线免费视频| 夜夜夜精品看看| 欧美激情视频免费看| 麻豆成全视频免费观看在线看| 久久人人超碰精品| 91免费版网站入口| 国产女人18毛片18精品| 国产成人超碰人人澡人人澡| 国产精品免费区二区三区观看| 亚洲欧美自偷自拍| 国产日韩欧美a| 精品国产三级a∨在线| 黄色影院在线看| 欧美日韩国产在线看| caopor在线视频| 伊人久久大香伊蕉在人线观看热v| 日韩欧美一二区| 亚洲成av人片在线观看无| 综合干狼人综合首页| 中文字幕视频一区二区在线有码| 玖玖爱这里只有精品| 99精品视频免费| 国产精品高潮呻吟久久av无限 | 亚洲精品一区二区三区樱花| 国产在线观看a| 亚洲va韩国va欧美va| 亚洲综合在线网站| 国产高清日韩| 亚洲美女视频网| 蜜桃av免费观看| 亚洲黄页一区| 91精品久久久久久久久久另类| 亚洲成人一级片| 欧美激情一区二区在线| 轻点好疼好大好爽视频| 日本成人在线播放| 亚洲午夜一区二区三区| 999在线免费视频| 国产精品主播在线观看| www.国产一区| 国产91精品看黄网站在线观看| 激情五月婷婷综合网| 久久久久免费网| 搞黄网站在线观看| 一本到不卡免费一区二区| a在线视频观看| 亚洲电影二区| 国产视频精品一区二区三区| 91成人福利视频| 精品无码人妻一区二区三区品| 欧美三级一级片| 在线观看福利一区| 秋霞无码一区二区| 中国一级免费毛片| 蜜桃精品在线观看| 久久国产精品亚洲va麻豆| 免费观看成人高潮| 色天天综合久久久久综合片| 99久久久无码国产精品性波多 | 精品国产一区久久| 国产乱子轮xxx农村| 久久影院亚洲| 久久爱av电影| 8x8ⅹ拨牐拨牐拨牐在线观看| 亚洲精品国产a| 亚洲综合色在线观看| 亚洲福利网站| 欧美亚洲一级片| 人妻视频一区二区三区| 一区二区三区精品视频| 一区二区三区四区毛片| 日韩免费特黄一二三区| 久久婷婷国产麻豆91天堂| 亚洲视频日韩精品| 超碰97在线资源站| 国内自拍一区| 99国内精品久久久久久久软件| 在线观看免费网站黄| 日本黄色一区二区| 国产成人精品无码免费看夜聊软件| 亚洲国产日本| 九色综合日本| 午夜激情在线播放| 日韩电影第一页| 狠狠躁夜夜躁人人爽天天高潮| 成人丝袜18视频在线观看| 久久精品xxx| 国产欧美三级电影| 久久久噜噜噜久久久| 免费a视频在线观看| 性做久久久久久久免费看| 无码一区二区精品| 香蕉久久a毛片| 日韩高清三级| 四虎地址8848精品| 久久久国产精品x99av| 亚洲AV无码成人片在线观看| 一区二区三区四区不卡在线 | 日本高清不卡码| 国产无人区一区二区三区| 国产视频在线视频| 日韩在线观看| 超碰97网站| 亚洲优女在线| 中文字幕无线精品亚洲乱码一区| 91精品国自产| 女人高潮被爽到呻吟在线观看| 亚洲国产毛片aaaaa无费看 | 国内性生活视频| 精品中文一区| 91九色国产视频| a级片在线免费观看| 亚洲人成欧美中文字幕| 91禁在线观看| 精品久久久久人成| 亚洲ⅴ国产v天堂a无码二区| 激情综合色综合久久综合| 国产一级做a爰片久久毛片男| 亚洲+变态+欧美+另类+精品| 国产精品自拍网| 久操av在线| 一本色道久久综合狠狠躁篇怎么玩 | 欧美二级三级| 成人在线分类| 青青在线视频一区二区三区| 久久日韩视频| 亚洲精品456在线播放狼人| 中文在线观看免费高清| 亚洲一区二区三区自拍| 免费一级特黄3大片视频| 成人一区二区三区在线观看| av污在线观看| 亚洲专区一区二区三区| 伊人久久在线观看| 蜜乳av综合| 国产亚洲一区在线播放| 亚洲国产伊人| 国产成人精品a视频一区www| 日韩av官网| 色综合亚洲精品激情狠狠| 成人精品在线看| 亚洲日本在线a| 性高潮久久久久久久| 国产99久久久久| www.com黄色片| 黄色一级a毛片| 一区二区三区在线观看欧美| 国产中年熟女高潮大集合| 中国一级特黄录像播放| 你懂的亚洲视频| 亚洲一区高清| 国产精品密蕾丝视频下载| 国产乱码精品一区二区三区不卡| 欧美高清你懂的| 日韩美女福利视频| 成人免费一区二区三区牛牛| 精品国产欧美一区二区五十路 | 自拍偷拍亚洲精品| 台湾av在线二三区观看| 欧美一级片在线看| 一级成人免费视频| 在线精品视频免费观看| 欧美精品韩国精品| 午夜视频一区二区三区| 精品视频久久久久| 亚洲综合色丁香婷婷六月图片| 欧美特黄一级片| 国产精品污污网站在线观看| 美女被到爽高潮视频| www一区二区| 日本黄色免费观看| 成人网男人的天堂| 午夜男人的天堂| 成人sese在线| 少妇激情一区二区三区视频| 成人看片黄a免费看在线| 俄罗斯女人裸体性做爰| 国产一区二区三区美女| 久久久久xxxx| 国产麻豆精品一区二区| 少妇丰满尤物大尺度写真| 国产老妇另类xxxxx| 日本少妇激三级做爰在线| 激情综合色综合久久综合| 亚洲精品中文字幕乱码无线| 伊人情人综合网| 热这里只有精品| 欧美区日韩区| 丁香花在线影院观看在线播放| 悠悠资源网久久精品| 日本a视频在线观看| 日韩午夜高潮| 日本男人操女人| 久久精品国产色蜜蜜麻豆| 极品粉嫩国产18尤物| 精品动漫3d一区二区三区免费版| 成人黄色大片网站| 中文在线不卡| 国产免费视频传媒| 狠狠色丁香婷综合久久| 国产精品19p| 99久久综合国产精品| 美女被到爽高潮视频| **性色生活片久久毛片| 久久久久成人精品无码| 黑人极品videos精品欧美裸| 自拍偷拍色综合| 日韩一区二区三区免费看 | 免费a级毛片在线播放| 91福利在线观看| 91精品视频免费在线观看 | 国产丰满果冻videossex| 欧美mv日韩mv国产网站app| 亚洲成人久久精品| 亚洲欧洲国产精品| 美女免费久久| 午夜精品久久久久久久99热| 日本毛片在线观看| 欧美自拍偷拍一区| 午夜精品理论片| 中文字幕在线播| 欧美日韩一区小说| 国产美女高潮视频| 亚洲欧美日韩国产手机在线| 久久免费精品国产| 青青久久av| 日韩不卡av| 午夜国产精品视频| 亚洲乱码中文字幕久久孕妇黑人| 日本欧美大码aⅴ在线播放| 中文字幕线观看| 99国产精品久久久久久久久久久| 极品尤物一区二区| 亚洲一区二区不卡免费| 国产偷人爽久久久久久老妇app| 日韩女优电影在线观看| 国产二区在线播放| 日韩av影视综合网| 亚洲成a人v欧美综合天堂麻豆| 欧美精品久久久久久久久久| 性欧美高清come| 国产成人av在线播放| 免费欧美网站| 亚洲成人a**址| 国产精品亚洲综合久久| 国内精品国产三级国产aⅴ久| 久久蜜臀精品av| 久久久久久国产精品免费播放| 欧美中文字幕久久| 日本韩国在线观看| 久久深夜福利免费观看| 欧美色网在线| 久久av二区| 精品动漫av| 天天躁日日躁狠狠躁av| 亚洲丝袜另类动漫二区| 中文字幕 欧美激情| 亚洲国产免费av| 黄页网站在线观看免费| 亚洲一区二区三区视频播放| 日韩欧美一区二区三区在线视频| 欧美牲交a欧美牲交aⅴ免费下载| 国产高清精品在线| 亚洲图片第一页| 欧美综合欧美视频| 国产天堂在线| 国产精品99导航| 久久不见久久见国语| 久久国产亚洲精品无码| 9久草视频在线视频精品| 久久精品无码人妻| 精品国产乱码久久久久久蜜臀 | 风间由美性色一区二区三区四区| 一区二区三区四区| 蜜臀精品一区二区三区在线观看| 婷婷色一区二区三区 | 国产精品伊人久久| zzjj国产精品一区二区| 素人啪啪色综合| 亚洲韩国在线| 久久99这里只有精品| 日本少妇xxx| 亚洲男人的天堂在线aⅴ视频| 在线免费看毛片| xvideos国产精品| 免费欧美网站| 91精品国产91久久久久麻豆 主演| 成人永久免费视频| 亚洲精品国产精品乱码| 日韩国产一区三区| 另类专区亚洲| 中文字幕永久在线不卡| 狠狠人妻久久久久久综合蜜桃| 亚洲国产精品嫩草影院| 天堂v在线观看| 日本高清视频精品| 日韩中文在线电影| 久久精品久久99| 亚洲国产sm捆绑调教视频| 五月婷婷久久久| 国产精品免费看久久久香蕉| 欧美hd在线| 欧美图片自拍偷拍| 韩曰欧美视频免费观看| 1024国产在线| av一区二区三区免费| 在线亚洲欧美| 国产精品久久久久久成人| 91精品国产免费久久综合| 国产亚av手机在线观看| 免费看成人午夜电影| 免费在线观看精品| 青青草精品在线视频| 一区二区三区四区视频精品免费| 亚洲av综合色区无码一区爱av | 国产精品99re| 亚洲欧美综合精品久久成人| 日本欧美在线| 欧美人成在线观看| 亚洲国产精品成人综合色在线婷婷 | 日韩.欧美.亚洲| 韩国毛片一区二区三区| 日本午夜精品理论片a级app发布| 亚洲网站在线看| 亚洲午夜免费| 亚洲欧美激情网| 夜夜精品浪潮av一区二区三区| 毛片在线播放网址| 96成人在线视频| 日日夜夜一区二区| 国产精品19乱码一区二区三区| 在线看日韩av| 校花撩起jk露出白色内裤国产精品| 日韩成人av免费|