Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Det här avsnittet visar hur du dynamiskt skapar en DTP-kontroll (date and time picker). Det medföljande C++-kodexemplet skapar en DTP-kontroll (datum- och tidsväljarkontroll) i en modellös dialogruta. Den använder formatet DTS_SHOWNONE för att göra det möjligt för användaren att simulera inaktivering av datumet i kontrollen.
Vad du behöver veta
Teknologier
Förutsättningar
- C/C++
- Programmering av Windows-användargränssnitt
Instruktioner
Steg 1:
Registrera fönsterklassen genom att anropa funktionen InitCommonControlsEx och ange den ICC_DATE_CLASSES biten i den tillhörande INITCOMMONCONTROLSEX- struktur.
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(icex);
icex.dwICC = ICC_DATE_CLASSES;
InitCommonControlsEx(&icex);
Steg 2:
Om du vill skapa DTP-kontrollen använder du funktionen CreateWindowEx. Ange DATETIMEPICK_CLASS som fönsterklass och skicka handtaget till den överordnade dialogrutan.
I följande C++-kodexempel används funktionen CreateDialog för att skapa en modellös dialogruta. Den anropar sedan CreateWindowEx för att skapa DTP-kontrollen.
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);
Fullständigt exempel
// 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);
}
Relaterade ämnen