| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Убрать UPDOWN в CDateTimeCtrl |
| Автор: Acer 9.3.2011, 19:21 | ||
| Привет. Есть класс наследник от CDateTimeCtrl Вот код создания контрола:
в контроле справа кнопки up/down не убираются. Точнее, остается только down. Если вообще не упоминать о DTS_UPDOWN, то обе кнопки создаются. Подскажите, как убрать UPDOWN из контрола? Код с GetWindowLong и SetWindowLong, который нашел гугл не помог. |
| Автор: Acer 12.3.2011, 14:54 | ||||||
| Проблему решил. Идея простая. Находим окно со спинбоксом и удаляем его: Создал контрол с явным указанием стиля DTS_UPDOWN
В классе контрола определил реакцию на сообщение WM_SHOWWINDOW
где EnumChildProc
Теперь спинбокс не отображается в CDateTimeCtrl(кнопка показа календаря тоже не отображается). Но отображается свободное место для этого спинбокса. Чтобы его убрать я ограничил область видимого окна (CWnd::SetWindowRgn) |