• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            SetWindowLong

            函數(shù)功能      

            該函數(shù)改變指定窗口的屬性函數(shù)也將指定的一個(gè)32位值設(shè)置在窗口的額外存儲(chǔ)空間的指定偏移位置。

            函數(shù)原型

                   LONG SetWindowLong(HWND hWnd,int nlndex,LONG dwNewLong);
            參數(shù)
                hWnd:窗口句柄及間接給出的窗口所屬的類。
             nlndex:指定將設(shè)定的大于等于0的偏移值。
                     有效值范圍從0到額外類的存儲(chǔ)空間的字節(jié)數(shù)-4:例如若指定了12位或多于12位的額外類存儲(chǔ)空間,則應(yīng)設(shè)為第三個(gè)32位整數(shù)的索引位8。要設(shè)置其他任何值,
            可以指定下面值之一:  
            GWL_EXSTYLE:設(shè)定一個(gè)新的擴(kuò)展風(fēng)格
            GWL_STYLE:設(shè)定一個(gè)新的窗口風(fēng)格。  
            GWL_WNDPROC:為窗口過程設(shè)定一個(gè)新的地址
            GWL_ID:設(shè)置一個(gè)新的窗口標(biāo)識(shí)符。
            GWL_HINSTANCE:設(shè)置一個(gè)新的應(yīng)用程序事例句柄。
            GWL_USERDATA:設(shè)置與窗口有關(guān)的32位值。
            每一個(gè)窗口均有一個(gè)由創(chuàng)建該窗口的應(yīng)用程序使用的32位值。
            當(dāng)hWnd參數(shù)標(biāo)識(shí)了一個(gè)對(duì)話框時(shí),也可使用下列值:
            DWL_DLGPROC:設(shè)置對(duì)話框過程的新地址。
            DWL_MSGRESULT:設(shè)置在對(duì)話框過程中處理的消息的返回值。
            DWL_USER:設(shè)置的應(yīng)用程序私有的新的額外信息,例如一個(gè)句柄或指針。
            dwNewLong:指定的替換值。
            返回值:
            如果函數(shù)成功,返回值是指定的32位整數(shù)的原來的值。
            如果函數(shù)失敗,返回值為0。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。
            如果指定32位整數(shù)的原來的值為0,并且函數(shù)成功,則返回值為0,但是函數(shù)并不清除最后的錯(cuò)誤信息,這就很難判斷函數(shù)是否成功。這時(shí),就應(yīng)在調(diào)用SetWindowLong之前調(diào)用callingSetLastError(0)函數(shù)來清除最后的錯(cuò)誤信息。這樣,如果函數(shù)失敗就會(huì)返回0,并且GetLastError。也返回一個(gè)非零值。   如果由hWnd參數(shù)指定的窗口與調(diào)用線程不屬于同一進(jìn)程,將導(dǎo)致SetWindowLong函數(shù)失敗。
            指定的窗口數(shù)據(jù)是在緩存中保存的,因此在調(diào)用SetWindowLong之后再調(diào)用SetWindowPos函數(shù)才能使SetWindowLong函數(shù)所作的改變生效。
            如果使用帶GWL_WNDPROC索引值的SetWindowLong函數(shù)替換窗口過程,則該窗口過程必須與WindowProccallback函數(shù)說明部分指定的指導(dǎo)行一致。
            如果使用帶DWL_MSGRESULT索引值的SetWindowLong函數(shù)來設(shè)置由一個(gè)對(duì)話框過程處理的消息的返回值,應(yīng)在此后立即返回TRUE。否則,如果又調(diào)用了其他函數(shù)而使對(duì)話框過程接收到一個(gè)窗口消息,則嵌套的窗口消息可能改寫使用DWL_MSGRESULT設(shè)定的返回值。
            可以使用帶GWL_WNDPROC索引值的SetWindowLong函數(shù)創(chuàng)建一個(gè)窗口類的子類,該窗口類是用于創(chuàng)建該窗口的關(guān)。一個(gè)應(yīng)用程序可以一個(gè)系統(tǒng)美為于類,但是不能以一個(gè)其他進(jìn)程產(chǎn)生的窗口類為子類,SetwindowLong函數(shù)通過改變與一個(gè)特殊的窗口類相聯(lián)系的窗口過程來創(chuàng)建窗口子類,從而使系統(tǒng)調(diào)用新的窗口過程而不是以前定義的窗口過程。應(yīng)用程序必須通過調(diào)用CallWindowProc函數(shù)向前窗口傳遞未被新窗口處理的消息,這樣作允許應(yīng)用程序創(chuàng)建一個(gè)窗口過程鏈。
            通過使用函數(shù)RegisterClassEx將結(jié)構(gòu)WNDCLASSEX中的cbWndExtra單元指定為一個(gè)非0值來保留新外窗口內(nèi)存。
            不能通過調(diào)用帶GWL_HWNDPARENT索引值的SetWindowLong的函數(shù)來改變子窗口的父窗口,應(yīng)使用SetParent函數(shù)。

            posted on 2010-04-18 23:13 crystal_Q 閱讀(1186) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            導(dǎo)航

            <2010年4月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            99久久国产热无码精品免费久久久久| 伊人久久大香线蕉综合热线| 久久久久久午夜成人影院| 麻豆国内精品久久久久久| 免费一级欧美大片久久网| 久久精品国产99久久久古代| 99久久国产精品免费一区二区 | 伊人久久精品无码二区麻豆| 久久综合亚洲欧美成人| 亚洲国产成人久久精品动漫| 性做久久久久久久久| 国产亚洲精久久久久久无码| 久久久久99精品成人片| 久久精品国产第一区二区三区| 狠狠精品久久久无码中文字幕| 国产毛片欧美毛片久久久| 国内精品久久久久久不卡影院| 久久久久久久精品成人热色戒| 99久久精品免费看国产一区二区三区| 久久国产亚洲精品| 国产精品成人99久久久久| 亚洲va久久久噜噜噜久久天堂| 久久99精品久久久久久齐齐| 欧美牲交A欧牲交aⅴ久久| 国内精品伊人久久久久妇| 大蕉久久伊人中文字幕| 国产成人久久精品区一区二区| 久久久久久精品久久久久| 亚洲日本va午夜中文字幕久久| 一级做a爰片久久毛片人呢| 精品人妻久久久久久888| 亚洲第一极品精品无码久久| 久久精品国产亚洲AV影院 | 日韩精品久久久久久久电影蜜臀| 精品久久久久久无码中文野结衣 | 青青久久精品国产免费看| 色综合久久最新中文字幕| 久久免费国产精品一区二区| 97久久精品无码一区二区| 久久超碰97人人做人人爱| 久久精品中文闷骚内射|