如何建立日期和時間選擇器控件
本主題示範如何動態建立日期和時間選擇器 (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);
}
相關主題