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

動態生成對話框

Creating   a   Template   in   Memory
Applications   sometimes   adapt   or   modify   the   content   of   dialog   boxes   depending   on   the   current   state   of   the   data   being   processed.   In   such   cases,   it   is   not   practical   to   provide   all   possible   dialog   box   templates   as   resources   in   the   application 's   executable   file.   But   creating   templates   in   memory   gives   the   application   more   flexibility   to   adapt   to   any   circumstances.  

In   the   following   example,   the   application   creates   a   template   in   memory   for   a   modal   dialog   box   that   contains   a   message   and   OK   and   Help   buttons.  

In   a   dialog   template,   all   character   strings,   such   as   the   dialog   box   and   button   titles,   must   be   Unicode   strings.   This   example   uses   the   MultiByteToWideChar   function   to   generate   these   Unicode   strings,   because   Windows   95/98   and   Windows   NT/Windows   2000   support   MultiByteToWideChar  

The   DLGITEMTEMPLATE   structures   in   a   dialog   template   must   be   aligned   on   DWORD   boundaries.   To   align   these   structures,   this   example   uses   a   helper   routine   that   takes   an   input   pointer   and   returns   the   closest   pointer   that   is   aligned   on   a   DWORD   boundary.

#define   ID_HELP       150
#define   ID_TEXT       200

LPWORD   lpwAlign   (   LPWORD   lpIn)
{
        ULONG   ul;

        ul   =   (ULONG)   lpIn;
        ul   +=3;
        ul   > > =2;
        ul   < <=2;
        return   (LPWORD)   ul;
}

LRESULT   DisplayMyMessage(HINSTANCE   hinst,   HWND   hwndOwner,  
        LPSTR   lpszMessage)
{
        HGLOBAL   hgbl;
        LPDLGTEMPLATE   lpdt;
        LPDLGITEMTEMPLATE   lpdit;
        LPWORD   lpw;
        LPWSTR   lpwsz;
        LRESULT   ret;
        int   nchar;

        hgbl   =   GlobalAlloc(GMEM_ZEROINIT,   1024);
        if   (!hgbl)
                return   -1;
 
        lpdt   =   (LPDLGTEMPLATE)GlobalLock(hgbl);
 
        //   Define   a   dialog   box.
 
        lpdt-> style   =   WS_POPUP   |   WS_BORDER   |   WS_SYSMENU
                                      |   DS_MODALFRAME   |   WS_CAPTION;
        lpdt-> cdit   =   3;     //   number   of   controls
        lpdt-> x     =   10;     lpdt-> y     =   10;
        lpdt-> cx   =   100;   lpdt-> cy   =   100;

        lpw   =   (LPWORD)   (lpdt   +   1);
        *lpw++   =   0;       //   no   menu
        *lpw++   =   0;       //   predefined   dialog   box   class   (by   default)

        lpwsz   =   (LPWSTR)   lpw;
        nchar   =   1+   MultiByteToWideChar   (CP_ACP,   0,   "My   Dialog ",  
                                                                        -1,   lpwsz,   50);
        lpw       +=   nchar;

        //-----------------------
        //   Define   an   OK   button.
        //-----------------------
        lpw   =   lpwAlign   (lpw);   //   align   DLGITEMTEMPLATE   on   DWORD   boundary
        lpdit   =   (LPDLGITEMTEMPLATE)   lpw;
        lpdit-> x     =   10;   lpdit-> y     =   70;
        lpdit-> cx   =   80;   lpdit-> cy   =   20;
        lpdit-> id   =   IDOK;     //   OK   button   identifier
        lpdit-> style   =   WS_CHILD   |   WS_VISIBLE   |   BS_DEFPUSHBUTTON;

        lpw   =   (LPWORD)   (lpdit   +   1);
        *lpw++   =   0xFFFF;
        *lpw++   =   0x0080;         //   button   class

        lpwsz   =   (LPWSTR)   lpw;
        nchar   =   1+MultiByteToWideChar   (CP_ACP,   0,   "OK ",   -1,   lpwsz,   50);
        lpw       +=   nchar;
        lpw   =   lpwAlign   (lpw);   //   align   creation   data   on   DWORD   boundary
        *lpw++   =   0;                       //   no   creation   data

        //-----------------------
        //   Define   a   Help   button.
        //-----------------------
        lpw   =   lpwAlign   (lpw);   //   align   DLGITEMTEMPLATE   on   DWORD   boundary
        lpdit   =   (LPDLGITEMTEMPLATE)   lpw;
        lpdit-> x     =   55;   lpdit-> y     =   10;
        lpdit-> cx   =   40;   lpdit-> cy   =   20;
        lpdit-> id   =   ID_HELP;         //   Help   button   identifier
        lpdit-> style   =   WS_CHILD   |   WS_VISIBLE   |   BS_PUSHBUTTON;

        lpw   =   (LPWORD)   (lpdit   +   1);
        *lpw++   =   0xFFFF;
        *lpw++   =   0x0080;                                   //   button   class   atom

        lpwsz   =   (LPWSTR)   lpw;
        nchar   =   1+MultiByteToWideChar   (CP_ACP,   0,   "Help ",   -1,   lpwsz,   50);
        lpw       +=   nchar;
        lpw   =   lpwAlign   (lpw);   //   align   creation   data   on   DWORD   boundary
        *lpw++   =   0;                       //   no   creation   data

        //-----------------------
        //   Define   a   static   text   control.
        //-----------------------
        lpw   =   lpwAlign   (lpw);   //   align   DLGITEMTEMPLATE   on   DWORD   boundary
        lpdit   =   (LPDLGITEMTEMPLATE)   lpw;
        lpdit-> x     =   10;   lpdit-> y     =   10;
        lpdit-> cx   =   40;   lpdit-> cy   =   20;
        lpdit-> id   =   ID_TEXT;     //   text   identifier
        lpdit-> style   =   WS_CHILD   |   WS_VISIBLE   |   SS_LEFT;

        lpw   =   (LPWORD)   (lpdit   +   1);
        *lpw++   =   0xFFFF;
        *lpw++   =   0x0082;                                                   //   static   class

        for   (lpwsz   =   (LPWSTR)lpw;        
                *lpwsz++   =   (WCHAR)   *lpszMessage++;
        );
        lpw   =   (LPWORD)lpwsz;
        lpw   =   lpwAlign   (lpw);   //   align   creation   data   on   DWORD   boundary
        *lpw++   =   0;                       //   no   creation   data

        GlobalUnlock(hgbl);  
        ret   =   DialogBoxIndirect(hinst,   (LPDLGTEMPLATE)   hgbl,  
                hwndOwner,   (DLGPROC)   DialogProc);  
        GlobalFree(hgbl);  
        return   ret;  
}

posted on 2011-03-24 10:53 wrh 閱讀(656) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導航

<2008年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

統計

常用鏈接

留言簿(19)

隨筆檔案

文章檔案

收藏夾

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久精品72免费观看| 国产视频一区三区| 在线免费观看视频一区| 亚洲尤物在线视频观看| 欧美国产激情| 欧美一级黄色录像| 国产精品久久久久av| 日韩一区二区精品视频| 欧美大片一区二区| 久久激情综合| 国产日韩欧美91| 香蕉久久夜色精品| 一区二区三区欧美视频| 欧美日本国产| 日韩网站在线观看| 欧美国产精品久久| 久久久噜噜噜久久久| 国产一区二区三区观看| 欧美一区二区三区啪啪| 在线视频欧美日韩| 欧美美女bb生活片| 99精品国产高清一区二区| 亚洲福利在线看| 1024日韩| 欧美视频一区二| 亚洲精品自在久久| 亚洲高清影视| 免费视频一区| 亚洲国产一区在线| 欧美国产视频日韩| 麻豆freexxxx性91精品| 亚洲高清电影| 欧美承认网站| 免费日韩av片| 亚洲乱码国产乱码精品精| 欧美激情一区二区三区在线视频| 老牛影视一区二区三区| 亚洲电影免费| 亚洲国产精品久久精品怡红院| 欧美成人免费观看| 亚洲美女啪啪| 亚洲美女电影在线| 欧美色综合天天久久综合精品| 一区二区三区成人| 99视频日韩| 国产精品黄视频| 欧美在线电影| 久久精品人人爽| 亚洲国产你懂的| 亚洲精品乱码久久久久| 欧美日韩精品一区二区三区| 亚洲一区二区欧美| 亚洲欧美日韩国产成人| 国模私拍视频一区| 欧美mv日韩mv国产网站| 欧美国产在线视频| 亚洲综合日韩在线| 亚洲欧美日本伦理| 精品动漫3d一区二区三区免费版 | 老**午夜毛片一区二区三区| 久久免费国产精品| 亚洲免费精彩视频| 亚洲一品av免费观看| 国产一区二区三区无遮挡| 欧美mv日韩mv国产网站app| 欧美激情第9页| 午夜精品久久久久久久99热浪潮| 小嫩嫩精品导航| 91久久综合亚洲鲁鲁五月天| 日韩一级片网址| 国产亚洲欧美日韩在线一区| 欧美好吊妞视频| 国产精品黄视频| 乱人伦精品视频在线观看| 鲁大师成人一区二区三区| 亚洲视屏一区| 久久国产视频网站| 亚洲美女av电影| 午夜日韩在线观看| 亚洲人成人99网站| 亚洲一区二区综合| 亚洲国产成人精品久久| 一区二区三区精密机械公司| 国内精品久久久| 亚洲毛片av| 一区二区在线视频观看| 99re热这里只有精品免费视频| 国产亚洲精品激情久久| 亚洲精品久久久蜜桃| 国产一区二区久久| 亚洲精品日韩精品| 狠狠久久五月精品中文字幕| 亚洲精品小视频在线观看| 国产一区二区0| 日韩写真在线| 亚洲国产高清一区| 亚洲综合首页| 日韩亚洲精品视频| 久久久www成人免费无遮挡大片| 亚洲深夜av| 久久一区二区精品| 欧美一区二区三区四区在线观看地址 | 亚洲欧美日韩国产一区二区三区| 亚洲国产精品t66y| 亚洲欧美视频| 中文欧美字幕免费| 久久中文字幕一区| 久久av一区二区三区漫画| 欧美精品一区二区蜜臀亚洲| 久久亚洲影院| 国产乱肥老妇国产一区二| 亚洲精品女av网站| 国产亚洲欧洲一区高清在线观看| 亚洲乱码国产乱码精品精可以看| 伊人婷婷久久| 欧美一区二区免费| 亚洲女人天堂成人av在线| 欧美精品日韩综合在线| 免费精品视频| 国内精品视频在线播放| 亚洲影院在线观看| 亚洲一二三区精品| 欧美激情乱人伦| 欧美成人精品1314www| 国产一区三区三区| 亚洲欧美春色| 午夜精品亚洲| 欧美亚韩一区| 99热精品在线| 宅男精品视频| 欧美日韩精品一区二区天天拍小说 | 亚洲午夜一区二区| 在线一区二区三区做爰视频网站| 欧美成人免费在线视频| 女人香蕉久久**毛片精品| 狠狠色丁香久久婷婷综合丁香 | 亚洲一区二区三区四区在线观看 | 久久综合久久综合这里只有精品| 国产伦精品一区二区三区高清版| 一本久道久久综合婷婷鲸鱼| 亚洲精品视频在线观看网站| 毛片一区二区三区| 免费欧美高清视频| 黄色成人在线网址| 久久久国产精品一区二区三区| 久久久久久婷| 黄色av一区| 久久九九国产| 欧美jizz19hd性欧美| 亚洲国产精品一区二区第一页| 久久久亚洲国产天美传媒修理工| 另类激情亚洲| 亚洲国产1区| 欧美成人中文字幕| 亚洲日本理论电影| 亚洲私拍自拍| 国产精品免费区二区三区观看| 亚洲视频在线播放| 欧美一区二区大片| 国产一区香蕉久久| 久久婷婷一区| 亚洲福利一区| 亚洲视频碰碰| 国产精品亚洲欧美| 欧美在线免费播放| 裸体素人女欧美日韩| 91久久香蕉国产日韩欧美9色 | 欧美在线亚洲一区| 国产在线观看91精品一区| 久久久国产精品一区二区中文 | 欧美va天堂在线| 亚洲精品国产拍免费91在线| 欧美日韩国产在线| 亚洲影音先锋| 久久午夜精品| 亚洲精品一区二区网址| 欧美日韩在线免费观看| 亚洲愉拍自拍另类高清精品| 久久久久88色偷偷免费| 亚洲电影网站| 欧美三级午夜理伦三级中视频| 亚洲永久在线| 免费在线成人av| 99在线观看免费视频精品观看| 国产精品国产精品| 久久精品国产一区二区电影| 亚洲国产精品久久久久秋霞不卡 | 欧美精品久久久久久久久老牛影院 | 亚洲电影下载| 亚洲一区日韩在线| 韩国免费一区| 欧美日韩不卡在线| 午夜在线视频观看日韩17c| 欧美大片在线观看| 亚洲一区美女视频在线观看免费| 国产亚洲精品久久久久久| 欧美成人激情在线| 亚洲女ⅴideoshd黑人| 嫩模写真一区二区三区三州| 亚洲性图久久|