Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как прятать-открывать окно-календарь CMonthCalCtrl 
V
    Опции темы
torero
Дата 12.4.2008, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



   Я хочу сделать так, чтобы календарь CMonthCalCtrl не висел постоянно в окне "вид", а появлялся бы и исчезал при
  нажатии кнопки Button и сделал так:
        CMonthCalCtrl month;
        month.Create(WS_CHILD | WS_DISABLED | WS_BORDER,rect,this,ID_MONTH)); // стиль WS_DISABLED, при создании календарь не виден.
        нажимаю кнопку:
        month.SetWindowPos(&wndTop,10,35,170,160,SWP_SHOWWINDOW); month.SetFocus();     // календарь появился
  Но фокуса у него нет, числа не выбирает, даже при использовании month.SetFocus();
  Если же сразу создать календарь видимым, стиль WS_VISIBLE , то работает всё правильно и month.SetFocus(); не нужен.
  1. Как сделать календарь активным?
  2. Стиль WS_OVERLAPPED тоже не действует в моём случае, т.е, если на месте появления календаря уже был текст или
  контрол, то они не закрываются. Как сделать, чтобы month перекрывал их?

PM MAIL   Вверх
Andrey44
Дата 14.4.2008, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 12
Всего: 26



Зачем стиль WS_DISABLED - ты же сам делаешь его не активным smile 
// стиль WS_DISABLED, при создании календарь не виден------------------НЕ НАДО ПРОСТО НЕ СТАВЬ WS_VISIBLE


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
torero
Дата 15.4.2008, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



   C этим всё получилось, спасибо.  Но, если можно, ещё один вопрос. Я разбираюсь с контролами и вот  создаю в окне "вид" ListBox и ComboBox:
   CListBox m_list1;
   m_list1.Creatе(WS_CHILD | WS_BORDER | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL,rect,this,ID_LIST1);
 Так вот вертикальный скроллинг появляется, если записываю строки и их количество больше, чем
 допускает размер окна по вертикали. А горизонтальный скроллинг не появляется, если длина строк
 больше, чем ширина окна. То же самое у меня было, когда я создавал ListBox и ComboBox в диалоговом
 окне и стили задавал в ресурсах. Что у меня неправильно?
PM MAIL   Вверх
torero
Дата 16.4.2008, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



   Увидел в MSDN нужный метод и всё получилось. Спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0680 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.