成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

ios下載 什么是窗口子類化?

什么是窗口子類化?如果你曾經(jīng)在Windows環(huán)境下編程,有時(shí)你會(huì)發(fā)現(xiàn)有一個(gè)現(xiàn)成的窗口,它幾乎擁有你所需要的所有功能,但它并不完全相同。如果您需要一個(gè)具有過濾特殊字符功能的編輯控件。當(dāng)然,最直接的方法是

什么是窗口子類化?

如果你曾經(jīng)在Windows環(huán)境下編程,有時(shí)你會(huì)發(fā)現(xiàn)有一個(gè)現(xiàn)成的窗口,它幾乎擁有你所需要的所有功能,但它并不完全相同。如果您需要一個(gè)具有過濾特殊字符功能的編輯控件。當(dāng)然,最直接的方法是用代碼實(shí)現(xiàn)它,但這是一項(xiàng)耗時(shí)且困難的任務(wù),子類化可以用來完成這類任務(wù)。子類化允許您接管子類化窗口,使您可以對(duì)其進(jìn)行絕對(duì)控制。例如,您需要一個(gè)只接受十六進(jìn)制數(shù)字輸入的文本編輯框。如果您使用一個(gè)簡(jiǎn)單的編輯控件,當(dāng)用戶輸入十六進(jìn)制以外的字符時(shí),您不知道也不能做任何事情。也就是說,當(dāng)用戶在文本框中輸入一個(gè)字符串時(shí)

現(xiàn)在讓我們來解釋一下實(shí)現(xiàn)的細(xì)節(jié):當(dāng)用戶在文本框中輸入一個(gè)字符時(shí),windows會(huì)向編輯控件的window函數(shù)發(fā)送WMuchar消息。這個(gè)窗口函數(shù)本身是寄生在windows中的,因此不能直接修改。但我們可以將此消息重定向到我們自己的窗口處理程序。如果自定義窗口要處理此消息,它可以處理它。如果沒有,它可以將此消息轉(zhuǎn)發(fā)到其原始窗口處理函數(shù)。這樣,自定義窗口處理程序?qū)⒆约翰迦雡indows系統(tǒng)和編輯控件之間。

有關(guān)說明,請(qǐng)參閱以下過程:

窗口子類化之前

windows==編輯控件的窗口處理函數(shù)。

子類化后

windows==自定義窗口處理程序==編輯控件的窗口處理程序。

,然后windows將消息發(fā)送到自定義窗口函數(shù)!我們調(diào)用函數(shù)SetWindowLong來完成這個(gè)任務(wù)。這個(gè)函數(shù)的原型是:

SetWindowLong協(xié)議:DWORD, 索引:DWORD, 德沃德:德沃德

HWnd=子類窗口的句柄nIndex=函數(shù)索引

GWLuuuxstyle設(shè)置窗口的擴(kuò)展風(fēng)