亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? menubar.cpp

?? Programming.Microsoft.Windows.CE.Dot.NET.3rd.Edition.pdf the chapter 5 example codes.
?? CPP
?? 第 1 頁 / 共 2 頁
字號:

    // Parse the parameters.
    idItem = (WORD) LOWORD (wParam);
    wNotifyCode = (WORD) HIWORD (wParam);
    hwndCtl = (HWND) lParam;

    Add2List (hWnd, TEXT ("WM_COMMAND id:%d code:%d"), idItem, 
              wNotifyCode);
    // Call routine to handle control message.
    for (i = 0; i < dim(MainCommandItems); i++) {
        if (idItem == MainCommandItems[i].Code)
            return (*MainCommandItems[i].Fxn)(hWnd, idItem, hwndCtl,
                                              wNotifyCode);
    }
    return 0;
}
//----------------------------------------------------------------------
// DoNotifyMain - Process WM_NOTIFY message for window.
//
LRESULT DoNotifyMain (HWND hWnd, UINT wMsg, WPARAM wParam,
                      LPARAM lParam) {
    PNMNEWMENU lpNewMenu;
    LPNMHDR lpnhr = (LPNMHDR)lParam;

    Add2List (hWnd, TEXT ("WM_NOTIFY id:%d event:%d"), lpnhr->idFrom, 
              lpnhr->code);
	// This code only works when compiling on a Pocket PC
#if defined(WIN32_PLATFORM_PSPC)    // See if new menu being displayed.
    if (lpnhr->code == NMN_GETAPPREGKEY) {
        lpNewMenu = (PNMNEWMENU) lParam;
        AppendMenu (lpNewMenu->hMenu, MF_ENABLED, IDM_MYNEWMENUITEM, 
                    TEXT("My own New menu item"));
        AppendMenu (lpNewMenu->hMenu, MF_SEPARATOR, 0, 0);
    // Permanent new menu item selected
    } else if (lpnhr->code == NMN_INVOKECOMMAND) {
        lpNewMenu = (PNMNEWMENU) lParam;
        // See if it is NewMenuX. 
        if (IsEqualIID (lpNewMenu->clsid, CLSID_NewMenuX)) {
            int rc = MessageBox (hWnd, 
                                 TEXT ("Do you want to launch Calc?"),
                                 szAppName, MB_YESNO);
            if (rc == IDYES)
                return 0;
            else
                return 1;
        }
    }
#endif
   return 0;
}
//----------------------------------------------------------------------
// DoSettingChangeMain - Process WM_SETTINGCHANGE message for window.
//
LRESULT DoSettingChangeMain (HWND hWnd, UINT wMsg, WPARAM wParam, 
                             LPARAM lParam) {

    // Notify shell of our WM_SETTINGCHANGE message.
    SHHandleWMSettingChange(hWnd, wParam, lParam, &sai);
    return 0;
}
//----------------------------------------------------------------------
// DoActivateMain - Process WM_ACTIVATE message for window.
//
LRESULT DoActivateMain (HWND hWnd, UINT wMsg, WPARAM wParam, 
                        LPARAM lParam) {

    // Notify shell of our activate message.
    SHHandleWMActivate(hWnd, wParam, lParam, &sai, 0);
    return 0;
}
//----------------------------------------------------------------------
// DoDestroyMain - Process WM_DESTROY message for window.
//
LRESULT DoDestroyMain (HWND hWnd, UINT wMsg, WPARAM wParam, 
                       LPARAM lParam) {
    PostQuitMessage (0);
    return 0;
}
//======================================================================
// Command handler routines
//----------------------------------------------------------------------
// DoMainCommandExit - Process Program Exit command.
//
LPARAM DoMainCommandExit (HWND hWnd, WORD idItem, HWND hwndCtl,
                          WORD wNotifyCode) {
    SendMessage (hWnd, WM_CLOSE, 0, 0);
    return 0;
}
//----------------------------------------------------------------------
// DoMainCommandAbout - Process Tools About command.
//
LPARAM DoMainCommandAbout (HWND hWnd, WORD idItem, HWND hwndCtl,
                           WORD wNotifyCode) {
    // Use DialogBox to create modal dialog.
    DialogBox (hInst, TEXT ("aboutbox"), hWnd, AboutDlgProc);
    return 0;
}
//----------------------------------------------------------------------
// DoMainCommandSimpleNew - Process Simple new menu command.
//
LPARAM DoMainCommandSimpleNew (HWND hWnd, WORD idItem, HWND hwndCtl,
                               WORD wNotifyCode) {
    if (IsWindow (hwndMenuBar))
        DestroyWindow (hwndMenuBar);

    // Create a menu bar.
    hwndMenuBar = MyCreateMenuBar (hWnd, ID_TOOLBAR1);
    MyCheckMenu (IDM_DOSIMPLENEW);
    return 0;
}
//----------------------------------------------------------------------
// DoMainCommandSharedNew - Process Shared new menu command.
//
LPARAM DoMainCommandSharedNew (HWND hWnd, WORD idItem, HWND hwndCtl,
                               WORD wNotifyCode) {
    // Delete the old menu bar.
    if (IsWindow (hwndMenuBar))
        DestroyWindow (hwndMenuBar);

    // Create the menu bar.
    hwndMenuBar = MyCreateMenuBar (hWnd, ID_TOOLBAR2);

    // Add the standard view bitmap.
    CommandBar_AddBitmap (hwndMenuBar, HINST_COMMCTRL, 
                          IDB_STD_SMALL_COLOR, STD_PRINT, 16, 16);
    MyCheckMenu (IDM_DOSHAREDNEW);          // Set menu checkmark.
    return 0;
}
//======================================================================
// About Dialog procedure
//
BOOL CALLBACK AboutDlgProc (HWND hWnd, UINT wMsg, WPARAM wParam,
                            LPARAM lParam) {
    switch (wMsg) {
        case WM_INITDIALOG:
        {
            SHINITDLGINFO idi;
            idi.dwMask = SHIDIM_FLAGS;
            idi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIZEDLGFULLSCREEN |
                          SHIDIF_SIPDOWN;
            idi.hDlg = hWnd;
            SHInitDialog (&idi);
        }
        break;
        case WM_COMMAND:
            switch (LOWORD (wParam)) {
                case IDOK:
                case IDCANCEL:
                    EndDialog (hWnd, 0);
                    return TRUE;
        }
        break;
    }
    return FALSE;
}
//----------------------------------------------------------------------
// MyCreateMenuBar - Creates a menu bar
//
HWND MyCreateMenuBar (HWND hWnd, int idToolbar) {
    SHMENUBARINFO mbi;

    // Create a menu bar.
    memset(&mbi, 0, sizeof(SHMENUBARINFO)); // Zero structure
    mbi.cbSize = sizeof(SHMENUBARINFO);     // Size field
    mbi.hwndParent = hWnd;                  // Parent window
    mbi.nToolBarId = idToolbar;             // ID of toolbar resource
    mbi.hInstRes = hInst;                   // Inst handle of app
    mbi.nBmpId = ID_TOOLBMPS;               // ID of bitmap resource
    mbi.cBmpImages = 3;                     // Num of images in bitmap 

    SHCreateMenuBar(&mbi);
    return mbi.hwndMB;                      // Return the menu bar handle.
}
//----------------------------------------------------------------------
// MyCheckMenu - Places a check next to a menu item
//
void MyCheckMenu (int idMenu) {
    HMENU hSubMenu;

    // The handle for the view menu
    hSubMenu = (HMENU)SendMessage (hwndMenuBar, SHCMBM_GETMENU, 0, 0);
    if (idMenu == IDM_DOSIMPLENEW) {
        CheckMenuItem (hSubMenu, IDM_DOSIMPLENEW, MF_BYCOMMAND | 
                       MFS_CHECKED);
        CheckMenuItem (hSubMenu, IDM_DOSHAREDNEW, MF_BYCOMMAND | 
                       MFS_UNCHECKED);
    } else {
        CheckMenuItem (hSubMenu, IDM_DOSIMPLENEW, MF_BYCOMMAND | 
                       MFS_UNCHECKED);
        CheckMenuItem (hSubMenu, IDM_DOSHAREDNEW, MF_BYCOMMAND | 
                       MFS_CHECKED);
    }
    return;
}
//----------------------------------------------------------------------
// Add2List - Add string to the report list box. 
//
void Add2List (HWND hWnd, LPTSTR lpszFormat, ...) {
    int nBuf, i;
    TCHAR szBuffer[512];

    va_list args;
    va_start(args, lpszFormat);

    nBuf = _vstprintf(szBuffer, lpszFormat, args);

    i = SendDlgItemMessage (hWnd, IDC_RPTLIST, LB_ADDSTRING, 0, 
                            (LPARAM)(LPCTSTR)szBuffer);

    if (i != LB_ERR)
        SendDlgItemMessage (hWnd, IDC_RPTLIST, LB_SETTOPINDEX, i, 
                            (LPARAM)(LPCTSTR)szBuffer);
    va_end(args);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性大战久久久久久久| 精品国产乱码久久| 国产裸体歌舞团一区二区| 亚洲欧洲色图综合| 亚洲精品在线免费播放| 欧美在线制服丝袜| 成人国产精品免费网站| 久久99国产精品麻豆| 亚洲影院理伦片| 国产精品久久久久一区二区三区共| 日韩一区二区三区四区| 在线观看亚洲成人| 99re66热这里只有精品3直播 | 伊人性伊人情综合网| 久久久久高清精品| 欧美一级一区二区| 欧美精选在线播放| 欧美亚洲国产bt| 色婷婷av一区二区三区gif| 成人中文字幕在线| 丁香天五香天堂综合| 国内外成人在线| 精品中文字幕一区二区小辣椒| 丝袜亚洲另类丝袜在线| 亚洲成年人网站在线观看| 亚洲精品乱码久久久久久黑人 | 色88888久久久久久影院按摩 | 精品夜夜嗨av一区二区三区| 日韩福利视频导航| 亚洲成人一区在线| 亚洲成a人片在线不卡一二三区| 亚洲精品水蜜桃| 亚洲综合精品久久| 怡红院av一区二区三区| 亚洲精品videosex极品| 亚洲午夜久久久久久久久电影网 | 国产精品美女久久久久久2018| 久久久激情视频| 中文字幕高清一区| 中文字幕va一区二区三区| 国产丝袜在线精品| 国产精品三级av在线播放| 国产精品灌醉下药二区| 亚洲久草在线视频| 午夜不卡av免费| 国产一区亚洲一区| 国产美女娇喘av呻吟久久| 国产高清无密码一区二区三区| 国产精品正在播放| 99re这里只有精品6| 色欧美片视频在线观看在线视频| 91久久线看在观草草青青| 欧美中文字幕不卡| 日韩美女一区二区三区| 久久亚洲综合色一区二区三区| 国产丝袜在线精品| 亚洲欧美视频在线观看视频| 亚洲mv在线观看| jlzzjlzz亚洲日本少妇| 99国产麻豆精品| 欧美午夜一区二区| 久久综合网色—综合色88| 国产精品国产精品国产专区不片| 亚洲午夜精品一区二区三区他趣| 日韩经典中文字幕一区| 国产久卡久卡久卡久卡视频精品| 不卡av电影在线播放| 欧美视频中文一区二区三区在线观看| 日韩一区二区免费在线观看| 国产三级一区二区| 亚洲成人免费av| 国产乱国产乱300精品| 日本高清免费不卡视频| 日韩午夜在线观看视频| 亚洲欧洲av色图| 青青青爽久久午夜综合久久午夜| 成人一区二区三区在线观看| 欧美性一级生活| 久久精品夜夜夜夜久久| 亚洲第一综合色| 成人网页在线观看| 日韩一区二区三区三四区视频在线观看| 国产无人区一区二区三区| 亚洲国产三级在线| 成人午夜在线播放| 日韩欧美国产午夜精品| 亚洲欧美日韩国产一区二区三区| 另类成人小视频在线| 在线观看国产一区二区| 久久久美女毛片| 青娱乐精品在线视频| 色综合久久久久综合体| 久久久蜜桃精品| 蜜臀国产一区二区三区在线播放 | 九九久久精品视频| 在线国产电影不卡| 国产精品久久久久久亚洲伦| 蜜桃视频在线观看一区| 欧美写真视频网站| 最新日韩在线视频| 国产不卡在线视频| 精品久久久久香蕉网| 亚洲二区视频在线| 91在线国产福利| 国产女主播一区| 国模娜娜一区二区三区| 欧美一级日韩免费不卡| 亚洲一区免费观看| 一本大道久久a久久综合婷婷 | 石原莉奈一区二区三区在线观看| 国产91精品一区二区麻豆亚洲| 欧美videossexotv100| 午夜欧美2019年伦理| 在线中文字幕一区| 中文字幕一区二区三区四区不卡 | 国产精品久久久久久久久免费丝袜 | 欧美韩国日本综合| 精油按摩中文字幕久久| 亚洲国产精品成人综合色在线婷婷| 视频在线观看一区二区三区| 在线观看视频一区二区| 亚洲另类一区二区| 色欧美日韩亚洲| 樱桃视频在线观看一区| 色综合天天综合网国产成人综合天| 国产欧美日韩精品一区| 国产成人精品一区二| 国产日产精品1区| 成人亚洲一区二区一| 久久精品视频一区二区三区| 国产一区二区成人久久免费影院| 精品少妇一区二区三区在线视频 | 国产一区二区福利| 久久九九影视网| 国产高清不卡一区| 国产欧美一区二区精品忘忧草| 黑人巨大精品欧美一区| 欧美大片国产精品| 久久99在线观看| 精品国产区一区| 国产精品亚洲午夜一区二区三区 | 国产精品午夜免费| 亚洲国产一区二区三区| 欧美午夜寂寞影院| 亚洲一区二区三区三| 在线免费亚洲电影| 亚洲午夜国产一区99re久久| 欧美日韩免费观看一区二区三区 | 亚洲精品久久久久久国产精华液| 色哟哟精品一区| 亚洲成av人片一区二区| 欧美va在线播放| 成人免费高清视频| 亚洲国产va精品久久久不卡综合| 制服视频三区第一页精品| 国产一级精品在线| 最新日韩av在线| 91精品国产综合久久福利软件| 九九国产精品视频| 综合亚洲深深色噜噜狠狠网站| 欧美午夜一区二区三区免费大片| 全部av―极品视觉盛宴亚洲| 久久久精品免费观看| 91啪亚洲精品| 免费久久精品视频| 国产精品区一区二区三| 欧美日韩中文国产| 国产精品一品二品| 亚洲综合色区另类av| 精品日韩99亚洲| 色屁屁一区二区| 国产一区二区按摩在线观看| 亚洲欧美另类小说| 精品av久久707| 欧美中文字幕一区二区三区亚洲| 久久精品国产亚洲高清剧情介绍| 国产精品亲子伦对白| 欧美精品久久久久久久多人混战 | 99久久综合精品| 天堂午夜影视日韩欧美一区二区| 国产亚洲欧美激情| 欧美老女人第四色| 成人自拍视频在线| 蜜桃精品在线观看| 亚洲色图色小说| 亚洲精品一区二区三区影院| 欧美亚洲国产一区二区三区va| 国产美女精品在线| 日韩电影一区二区三区四区| 国产精品久久久久久久蜜臀| 日韩欧美国产精品一区| 91在线播放网址| 国产寡妇亲子伦一区二区| 国产在线播放一区| 午夜电影网亚洲视频| 亚洲欧美乱综合| 日本一区二区三区dvd视频在线| 91麻豆精品国产91久久久使用方法 | 91精品国产综合久久小美女| 97久久久精品综合88久久|