SetTimer(1,1000,0);// установка таймера
bar.Create(WS_VISIBLE | WS_CHILD, CRect(0, 0, 0, 0),this,IDR_SB );
CRect clientSB;
// Координаты клиентской области строки состояния
bar.GetClientRect(&clientSB);
// Ширина строки состояния
int width = clientSB.Width();
// Установка цвета фона для строки состояния
bar.SetBkColor(RGB(200, 200, 255));
DateTimePicker MFC (C++) без секунд
Short Date
Long Date
Time
У формата Time отображаются
часы : минуты : секунды
:confused: Как убрать отображение/редактирование секунд?
Если есть другой класс, дайте пример использования.
Заранее благодарю.
1 . Создаешь переменную класса CTime в классе диалога,
(private: CTime m_time).
2 . Создаешь там же переменную класса CStatusBarCtrl bar;в файле Resource.h не забудь дописать
сртоку : #define IDR_SB 103( это строка состояния )
3 . В ф - ии OnInitDialog пишешь след. код
Код:
4 . Добавляеш в класс диалога ф - ию OnTimer(UINT nIDEvent) и пишешь в этой ф - ии
Код:
m_time=m_time.GetCurrentTime();
CString s = m_time.Format(" Дата и Время %d.%m.%Y %A %H:%M");// формируеш строку как
// тебе надо , в данном случае секунд не будет
bar.SetText(s,0,0);
CString s = m_time.Format(" Дата и Время %d.%m.%Y %A %H:%M");// формируеш строку как
// тебе надо , в данном случае секунд не будет
bar.SetText(s,0,0);
И все. Мне кажется удобней самому писать, что тебе хочется.Для показа времени можно использовать
и другие элементы управления CEdit,CStatic и т. д.
Код:
CDateTimeCtrl m_dt;
порождаешь
Код:
DDX_Control(pDX, IDC_MY_DATETIMEPICKER1, m_dt);
форматируешь
Код:
m_dt.SetFormat(_T("HH:mm"));
получаешь отображение/редактирование часов и минут