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

隨筆 - 3  文章 - 3  trackbacks - 0
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

相冊

News

Program

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

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) | 評論 (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) | 評論 (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>
            久久久一区二区| 99国产精品久久久久老师| 亚洲视频第一页| 欧美三级午夜理伦三级中文幕| 欧美视频一区二区三区| 亚洲视频在线观看网站| 亚洲免费av片| 欧美少妇一区| 久久国产精品久久久久久电车| 午夜精品福利一区二区蜜股av| 国产日产亚洲精品| 久久精品一区| 蜜桃av一区二区| 一区二区三区福利| 亚洲综合日韩中文字幕v在线| 国产热re99久久6国产精品| 久久久久久高潮国产精品视| 免费观看不卡av| 一区二区三区视频在线看| 亚洲视频图片小说| 伊人久久亚洲影院| 亚洲精选一区二区| 亚洲欧洲精品一区二区三区波多野1战4 | 一本一本a久久| 国产一区91| 亚洲国产精品一区二区第一页| 久久综合色综合88| 亚洲欧美日韩网| 老司机凹凸av亚洲导航| 亚洲字幕一区二区| 欧美成人免费网| 久久精品免视看| 欧美精品日日鲁夜夜添| 久久九九有精品国产23| 欧美日韩一区二区三区在线观看免 | 欧美在线一二三| 欧美aaa级| 久久久久久久久久久成人| 欧美日韩调教| 欧美不卡三区| 国产欧美一区二区白浆黑人| 亚洲激情综合| 在线精品亚洲| 香蕉久久国产| 亚洲欧美精品suv| 欧美激情综合五月色丁香小说 | 中文精品一区二区三区 | 亚洲免费伊人电影在线观看av| 亚洲激情专区| 久久婷婷一区| 久久精品日韩| 国产精品丝袜xxxxxxx| 亚洲免费成人av| 日韩视频在线播放| 亚洲欧洲日韩女同| 日韩视频不卡| 亚洲美女福利视频网站| 韩国v欧美v日本v亚洲v| 亚洲网站视频福利| 欧美极品一区二区三区| 欧美国产91| 亚洲丰满在线| 免费在线观看精品| 欧美高清日韩| 亚洲人成毛片在线播放| 蜜桃久久精品一区二区| 欧美激情亚洲精品| 亚洲黄网站黄| 欧美激情中文不卡| 亚洲精品一区二区三区av| 日韩午夜一区| 欧美日韩一区在线观看视频| 日韩一级黄色大片| 亚洲女女做受ⅹxx高潮| 国产精品久久久久久久久借妻| 99re热精品| 亚洲永久免费视频| 国产精品色一区二区三区| 亚洲女人天堂成人av在线| 欧美一区二区三区四区在线观看| 亚洲国产小视频| 最新国产成人av网站网址麻豆| 欧美xxx成人| 99国产精品99久久久久久| 亚洲欧美中文另类| 国模私拍一区二区三区| 免费亚洲网站| 中文网丁香综合网| 久久久久久久国产| 亚洲黄页视频免费观看| 国产精品高清在线| 欧美在线亚洲综合一区| 亚洲国产成人在线播放| 欧美精品一区二区久久婷婷| 亚洲另类在线视频| 久久动漫亚洲| 亚洲美女少妇无套啪啪呻吟| 欧美午夜寂寞影院| 欧美在线日韩在线| 亚洲精品资源美女情侣酒店| 欧美在线999| 亚洲精品久久7777| 久久成人亚洲| 久久成年人视频| 亚洲欧洲一区二区在线播放| 国产精品嫩草99a| 麻豆精品精华液| 一本色道久久综合亚洲精品小说| 久久影音先锋| 99pao成人国产永久免费视频| 国产精品黄页免费高清在线观看| 久久久精品国产一区二区三区| 亚洲人被黑人高潮完整版| 欧美中文在线观看| 中日韩午夜理伦电影免费| 激情亚洲成人| 国产精品久久久久久福利一牛影视| 久久亚洲美女| 亚洲欧美日韩国产另类专区| 亚洲激情视频| 久久久噜噜噜久久人人看| 亚洲一区二区三区激情| 亚洲国产日韩在线| 韩国精品在线观看| 欧美午夜片欧美片在线观看| 国产精品久久久久久久久久免费| 久久九九国产| 亚洲淫性视频| 久久精品导航| 亚洲永久免费精品| 亚洲欧洲一二三| 国产亚洲高清视频| 国产欧美日韩精品丝袜高跟鞋| 欧美日韩成人在线| 欧美成人免费在线观看| 久久蜜臀精品av| 久久国产免费| 香蕉久久一区二区不卡无毒影院| 99精品视频网| 日韩一二三区视频| 亚洲精品乱码久久久久久久久| 麻豆久久久9性大片| 久久在精品线影院精品国产| 性欧美18~19sex高清播放| 亚洲男人天堂2024| 一区二区三区视频在线| 亚洲一卡二卡三卡四卡五卡| 亚洲天堂成人在线视频| 一本一本大道香蕉久在线精品| 亚洲美女黄色| 一本到高清视频免费精品| 日韩一级在线| 99国产精品视频免费观看| 中文国产成人精品| 欧美一区二区在线播放| 欧美一级大片在线免费观看| 欧美一区二区高清| 久久久国产一区二区三区| 久久先锋资源| 欧美激情视频一区二区三区在线播放 | 中文无字幕一区二区三区| 日韩一本二本av| 久久精品麻豆| 99一区二区| 欧美中文字幕视频| 亚洲一区二区三区中文字幕在线 | 亚洲青色在线| 亚洲电影有码| 亚洲九九九在线观看| 一区二区三区欧美成人| 午夜电影亚洲| 久久综合九色综合欧美狠狠| 欧美电影在线免费观看网站| 国产精品vvv| 一区二区三区在线看| 亚洲精选久久| 欧美在线高清| 欧美高清不卡在线| 亚洲制服av| 蘑菇福利视频一区播放| 国产精品久久久久久久久果冻传媒 | 亚洲精品一区在线观看香蕉| 国产精品v日韩精品| 国产色综合久久| 亚洲美女黄色| 久久精品人人做人人综合| 亚洲欧洲偷拍精品| 欧美一级大片在线免费观看| 美玉足脚交一区二区三区图片| 欧美日韩免费一区二区三区视频| 亚洲黄色成人网| 91久久国产综合久久| 羞羞色国产精品| 亚洲成人资源| 欧美在线观看www| 国产精品久久久久久久久久免费看 | 国产综合久久| 亚洲一区二区三区精品在线| 猛男gaygay欧美视频| 亚洲午夜一区|