青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 3  文章 - 3  trackbacks - 0
<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

相冊(cè)

News

Program

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

Superclassing is a technique that allows an application to create a new window class with the basic functionality of the existing class, plus enhancements provided by the application. A superclass is based on an existing window class called the base class. Frequently, the base class is a system global window class such as an edit control, but it can be any window class.

A superclass has its own window procedure, called the superclass procedure. The superclass procedure can take three actions upon receiving a message: It can pass the message to the original window procedure, modify the message and pass it to the original window procedure, or process the message and not pass it to the original window procedure. If the superclass procedure processes a message, it can do so before, after, or both before and after it passes the message to the original window procedure.

Unlike a subclass procedure, a superclass procedure can process window creation messages (WM_NCCREATE, WM_CREATE, and so on), but it must also pass them to the original base-class window procedure so that the base-class window procedure can perform its initialization procedure.

To superclass a window class, an application first calls the GetClassInfo function to retrieve information about the base class. GetClassInfo fills a WNDCLASS structure with the values from the WNDCLASS structure of the base class. Next, the application copies its own instance handle into the hInstance member of the WNDCLASS structure and copies the name of the superclass into the lpszClassName member. If the base class has a menu, the application must provide a new menu with the same menu identifiers and copy the menu name into the lpszMenuName member. If the superclass procedure processes the WM_COMMAND message and does not pass it to the window procedure of the base class, the menu need not have corresponding identifiers. GetClassInfo does not return the lpszMenuName, lpszClassName, or hInstance member of the WNDCLASS structure.

An application must also set the lpfnWndProc member of the WNDCLASS structure. The GetClassInfo function fills this member with the address of the original window procedure for the class. The application must save this address, to pass messages to the original window procedure, and then copy the address of the superclass procedure into the lpfnWndProc member. The application can, if necessary, modify any other members of the WNDCLASS structure. After it fills the WNDCLASS structure, the application registers the superclass by passing the address of the structure to the RegisterClass function. The superclass can then be used to create windows.

Because superclassing registers a new window class, an application can add to both the extra class bytes and the extra window bytes. The superclass must not use the original extra bytes for the base class or the window for the same reasons that an instance subclass or a global subclass should not use them. Also, if the application adds extra bytes for its use to either the class or the window instance, it must reference the extra bytes relative to the number of extra bytes used by the original base class. Because the number of bytes used by the base class may vary from one version of the base class to the next, the starting offset for the superclass's own extra bytes may also vary from one version of the base class to the next.

posted @ 2008-06-01 17:39 陳振輝 閱讀(369) | 評(píng)論 (0)編輯 收藏
         When you implement a modeless dialog box, always override the OnCancel member function and call DestroyWindow from within   it. Don’t call the base class CDialog::OnCancel, because it calls EndDialog, which will make the dialog box invisible but will not destroy it. 
         You should also override PostNcDestroy for modeless dialog boxes in order to delete this, since modeless dialog boxes are usually allocated with new. Modal dialog boxes are usually constructed on the frame and do not need PostNcDestroy cleanup.
posted @ 2008-04-14 10:19 陳振輝 閱讀(932) | 評(píng)論 (3)編輯 收藏

Z-Order

The z-order of a window indicates the window's position in a stack of overlapping windows. This window stack is oriented along an imaginary axis, the z-axis, extending outward from the screen. The window at the top of the z-order overlaps all other windows. The window at the bottom of the z-order is overlapped by all other windows.

The system maintains the z-order in a single list. It adds windows to the z-order based on whether they are topmost windows, top-level windows, or child windows. A topmost window overlaps all other non-topmost windows, regardless of whether it is the active or foreground window. A topmost window has the WS_EX_TOPMOST style. All topmost windows appear in the z-order before any non-topmost windows. A child window is grouped with its parent in z-order.

When an application creates a window, the system puts it at the top of the z-order for windows of the same type. You can use the BringWindowToTop function to bring a window to the top of the z-order for windows of the same type. You can rearrange the z-order by using the SetWindowPos and DeferWindowPos functions.

The user changes the z-order by activating a different window. The system positions the active window at the top of the z-order for windows of the same type. When a window comes to the top of z-order, so do its child windows. You can use the GetTopWindow function to search all child windows of a parent window and return a handle to the child window that is highest in z-order. The GetNextWindow function retrieves a handle to the next or previous window in z-order.

posted @ 2008-04-07 14:24 陳振輝| 編輯 收藏
僅列出標(biāo)題  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美在线视频一区二区| 亚洲精品欧美专区| 蜜桃视频一区| 亚洲精选中文字幕| 久久日韩粉嫩一区二区三区| 欧美午夜不卡视频| 亚洲另类自拍| 美腿丝袜亚洲色图| 欧美一区二区在线看| 欧美午夜激情视频| 亚洲深夜福利视频| 亚洲人成网站精品片在线观看| 午夜国产精品影院在线观看| 国产精品白丝av嫩草影院| 一区二区三区精品国产| 亚洲看片免费| 国产精品福利片| 亚洲尤物精选| 一区二区三区日韩精品视频| 欧美日韩一区在线播放| 亚洲视频一二三| 亚洲特黄一级片| 国产免费成人在线视频| 午夜精品成人在线| 欧美在线一区二区三区| 国产一区二区激情| 欧美婷婷在线| 亚洲精品麻豆| 一本久久a久久免费精品不卡| 91久久久久久国产精品| 欧美国产精品va在线观看| 91久久精品国产91久久性色| 亚洲国产精品第一区二区三区| 久久亚洲欧洲| 亚洲欧洲精品一区| 99精品黄色片免费大全| 亚洲作爱视频| 国产精品国产福利国产秒拍| 亚洲欧美国产另类| 一区二区欧美在线观看| 欧美视频国产精品| 亚洲欧美日韩精品久久久| 日韩视频在线免费| 欧美三级视频在线播放| 亚洲欧美制服另类日韩| 亚洲欧美国产视频| 国产精品高潮久久| 欧美一区二区在线播放| 欧美一区二区三区免费视频| 一区二区亚洲精品| 亚洲欧洲偷拍精品| 国产精品v欧美精品v日本精品动漫 | 夜夜嗨av色一区二区不卡| 91久久精品国产91性色| 国产精品第一页第二页第三页| 一区二区三区欧美| 亚洲欧美中文字幕| 国产一区自拍视频| 亚洲高清不卡一区| 欧美视频精品一区| 欧美在线视频一区二区三区| 久久久在线视频| 亚洲图片欧洲图片av| 欧美在线观看www| 黑人一区二区| 亚洲黄色一区| 国产视频一区二区三区在线观看| 欧美激情一区二区| 国产精品久久久久久久7电影| 麻豆freexxxx性91精品| 欧美色网一区二区| 另类专区欧美制服同性| 欧美色一级片| 亚洲高清久久| 国产午夜精品视频| 亚洲精品在线观看免费| 99热在这里有精品免费| 一区免费视频| 亚洲午夜一区二区三区| 亚洲第一黄网| 亚洲永久在线观看| 亚洲激情女人| 久久精品国产欧美亚洲人人爽| 一区二区激情小说| 久久久久五月天| 亚洲欧美国产va在线影院| 美女精品在线观看| 久久精品女人天堂| 国产精品v日韩精品v欧美精品网站| 免费永久网站黄欧美| 国产欧美日本一区视频| 亚洲欧美高清| 欧美色图麻豆| 久久亚洲综合网| 男人插女人欧美| 久久视频在线视频| 国产精品久久久久毛片软件| 蜜臀av在线播放一区二区三区 | 国产精品久久97| 亚洲欧洲日产国产网站| 欧美网站在线观看| 亚洲激情专区| 亚洲视频国产视频| 欧美日韩亚洲一区二区三区四区 | 欧美成人网在线| 亚洲国产精品一区制服丝袜| 久久国产精品亚洲77777| 久久青青草原一区二区| 国产日韩欧美视频| 久久精品一区中文字幕| 久久天天躁狠狠躁夜夜爽蜜月| 国产一区亚洲一区| 久久精品视频免费观看| 欧美高清免费| 亚洲精品123区| 欧美日韩系列| 一区二区三区四区五区视频| 欧美日韩国产一中文字不卡 | 亚洲一区二区欧美日韩| 国产精品成人v| 国产自产2019最新不卡| 久久狠狠一本精品综合网| 久久国产精品99精品国产| 国产欧美一区二区三区沐欲| 亚洲免费影院| 久久久不卡网国产精品一区| 亚洲三级电影在线观看| 欧美精品日韩一本| a91a精品视频在线观看| 亚洲午夜国产一区99re久久| 欧美午夜片在线免费观看| 亚洲一区二区三区四区中文 | 亚洲国产日韩欧美一区二区三区| 亚洲国产一区二区视频| 欧美高潮视频| 亚洲午夜三级在线| 久久影院午夜片一区| 亚洲激情成人在线| 欧美性片在线观看| 欧美一区二区三区播放老司机| 国产精品海角社区在线观看| 久久男人资源视频| 亚洲欧洲在线视频| 午夜精品一区二区三区在线视| 国产婷婷成人久久av免费高清| 久久综合影音| 日韩亚洲精品电影| 久久偷窥视频| 在线亚洲成人| 久久成年人视频| 一区二区三区日韩精品| 亚洲综合第一页| 亚洲美女免费精品视频在线观看| 免费永久网站黄欧美| 性欧美xxxx大乳国产app| 久久久人成影片一区二区三区| 亚洲一区二区精品在线观看| 欧美视频一区二区| 欧美高清你懂得| 亚洲网站在线| 一本色道久久综合亚洲精品不| 亚洲视频在线观看一区| 最新日韩精品| 国产欧美另类| 国产精品v亚洲精品v日韩精品| 久久人人看视频| 欧美一级大片在线免费观看| 亚洲精品一二区| 免费永久网站黄欧美| 久久一区二区视频| 亚洲欧美日韩国产精品| 亚洲精品资源| 在线观看成人一级片| 国产精品成人一区二区三区吃奶| 看片网站欧美日韩| 亚洲一区二区精品| 在线播放豆国产99亚洲| 国产一区视频观看| 国产欧美视频一区二区| 葵司免费一区二区三区四区五区| 99pao成人国产永久免费视频| 另类综合日韩欧美亚洲| 一本色道久久综合亚洲二区三区 | 国产午夜精品全部视频在线播放| 欧美日韩国产一区精品一区 | 国产精品中文在线| 久久夜色精品国产| 99视频日韩| 亚洲精品乱码久久久久久久久| 免费欧美日韩国产三级电影| 久久久精品性| 欧美一区国产一区| 亚洲欧美日韩系列| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲麻豆av| 一区二区动漫| 亚洲一区二区在线免费观看| 一本色道综合亚洲| 宅男噜噜噜66一区二区66| 日韩午夜电影av|