Erstellen eines Steuerelements für die Datums- und Uhrzeitauswahl
In diesem Thema wird veranschaulicht, wie Sie dynamisch ein DTP-Steuerelement (Datums- und Uhrzeitauswahl) erstellen. Im zugehörigen C++-Codebeispiel wird ein DTP-Steuerelement in einem dialogfeld ohne Modus erstellt. Es verwendet die DTS_SHOWNONE Stil, damit der Benutzer die Deaktivierung des Datums innerhalb des Steuerelements simulieren kann.
Wichtige Informationen
Technologien
Voraussetzungen
- C/C++
- Programmierung der Windows-Benutzeroberfläche
Anweisungen
Schritt 1:
Registrieren Sie die Fensterklasse, indem Sie die InitCommonControlsEx-Funktion aufrufen und das ICC_DATE_CLASSES Bit in der zugehörigen INITCOMMONCONTROLSEX-Struktur angeben.
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(icex);
icex.dwICC = ICC_DATE_CLASSES;
InitCommonControlsEx(&icex);
Schritt 2:
Verwenden Sie zum Erstellen des DTP-Steuerelements die CreateWindowEx-Funktion . Geben Sie DATETIMEPICK_CLASS als Fensterklasse an, und übergeben Sie das Handle an das übergeordnete Dialogfeld.
Im folgenden C++-Codebeispiel wird die CreateDialog-Funktion verwendet, um ein dialogfeld ohne Modus zu erstellen. Anschließend wird CreateWindowEx aufgerufen, um das DTP-Steuerelement zu erstellen.
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);
Vollständiges Beispiel
// 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);
}
Zugehörige Themen