Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konu başlığında, bir tarih ve saat seçici (DTP) denetiminin dinamik olarak nasıl oluşturulacağı gösterilmektedir. Eşlik eden C++ kod örneği, modsuz bir iletişim kutusunda bir DTP denetimi oluşturur. Kullanıcının kontrol içindeki tarihi devre dışı bırakmayı canlandırmasına olanak tanımak için DTS_SHOWNONE stilini kullanır.
Bilmeniz gerekenler
Teknolojileri
Önkoşullar
- C/C++
- Windows Kullanıcı Arayüzü Programlama
Talimatlar
1. Adım:
InitCommonControlsEx işlevini çağırarak ve eşlik eden INITCOMMONCONTROLSEX yapısında ICC_DATE_CLASSES biti belirterek pencere sınıfını kaydedin.
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(icex);
icex.dwICC = ICC_DATE_CLASSES;
InitCommonControlsEx(&icex);
2. Adım:
DTP denetimini oluşturmak için CreateWindowExişlevinikullanın. Pencere sınıfı olarak DATETIMEPICK_CLASS belirtin ve tutamacı üst iletişim kutusuna geçirin.
Aşağıdaki C++ kod örneği, modeless iletişim kutusu oluşturmak için CreateDialogişlevinikullanır. Ardından DTP denetimini oluşturmak için CreateWindowEx çağırır.
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);
Tam örnek
// 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);
}
İlgili konular