共用方式為


如何建立日期和時間選擇器控件

本主題示範如何動態建立日期和時間選擇器 (DTP) 控件。 隨附的 C++ 程式代碼範例會在無模式對話框中建立 DTP 控件。 它會使用 DTS_SHOWNONE 樣式讓用戶模擬控件內日期的停用。

您需要知道的事項

技術

必要條件

  • C/C++
  • Windows 使用者介面程序設計

指示

步驟 1:

呼叫 InitCommonControlsEx 函式,並在隨附的 INITCOMMONCONTROLSEX 結構中指定ICC_DATE_CLASSES位,以註冊窗口類別。

 INITCOMMONCONTROLSEX icex;

 icex.dwSize = sizeof(icex);
 icex.dwICC = ICC_DATE_CLASSES;

 InitCommonControlsEx(&icex);

步驟 2:

若要建立 DTP 控件,請使用 CreateWindowEx 函式。 將DATETIMEPICK_CLASS指定為窗口類別,並將句柄傳遞至父對話方塊。

下列 C++ 程式代碼範例會使用 CreateDialog 函式來建立無模式對話方塊。 然後它會呼叫 CreateWindowEx 來建立 DTP 控件。

  hwndDlg = CreateDialog  (g_hinst,
                           MAKEINTRESOURCE(IDD_DIALOG1),
                           hwndMain,
                           DlgProc);

  if(hwndDlg)
      hwndDP = CreateWindowEx(0,
                           DATETIMEPICK_CLASS,
                           TEXT("DateTime"),
                           WS_BORDER|WS_CHILD|WS_VISIBLE|DTS_SHOWNONE,
                           20,50,220,20,
                           hwndDlg,
                           NULL,
                           g_hinst,
                           NULL);

完整範例

//  CreateDatePick creates a DTP control within a dialog box.
//  Returns the handle to the new DTP control if successful, or NULL 
//  otherwise.
// 
//    hwndMain - The handle to the main window.
//    g_hinst  - global handle to the program instance.

HWND WINAPI CreateDatePick(HWND hwndMain)
{
    HWND hwndDP = NULL;
    HWND hwndDlg = NULL;

    INITCOMMONCONTROLSEX icex;

    icex.dwSize = sizeof(icex);
    icex.dwICC = ICC_DATE_CLASSES;

    InitCommonControlsEx(&icex);

    hwndDlg = CreateDialog  (g_hinst,
                             MAKEINTRESOURCE(IDD_DIALOG1),
                             hwndMain,
                             DlgProc);

    if(hwndDlg)
        hwndDP = CreateWindowEx(0,
                             DATETIMEPICK_CLASS,
                             TEXT("DateTime"),
                             WS_BORDER|WS_CHILD|WS_VISIBLE|DTS_SHOWNONE,
                             20,50,220,20,
                             hwndDlg,
                             NULL,
                             g_hinst,
                             NULL);

    return (hwndDP);
}

使用日期和時間選擇器控制件

日期和時間選擇器控件參考

日期和時間選擇器