Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Глюк со вкладкой, Жмешь ENTER, а вкладка... исчезает! 
:(
    Опции темы
tokaplan
Дата 19.5.2002, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.4.2002

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



У меня есть прога на базе окна диалога. Состоит она из вкладок, т.е. на главном окне диалога еще есть много вкладок, которые по сути тоже диалоги, только со стилем, отключающим рамку и со стилем WS_CHILD. Так вот, все сообщения вкладка обрабатывает нормально, но, если фокус ввода, к примеру, принадлежит EDITBOX'у, расположенному на ней, и пользователь нажимает ENTER, то сообщение обрабатывается вкладкой (или кем?) так, что вкладка... исчезает! Остается её заголовок (т.е. то, на что надо жать, чтобы перейти на нее), а само содержимое вкладки исчезает. Что делать?
P.S. Вкладку представляет класс CTabCtrl из MFC
PM MAIL   Вверх
keisik
Дата 20.5.2002, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.3.2002

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



Если вкладки - диалоги, то по нажатию на Enter вызывается сиандартная ф-ия CDialog::OnOK(), которая закрывает окно. То же самое для Escape - CDialog::OnCancel(). Их нужно заглушить и всё будет пучком.
--------------------
...None of that can stop us now,we will make it through somehow...
PM MAIL   Вверх
tokaplan
Дата 20.5.2002, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.4.2002

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



Но на вкладке нет кнопок ОК и Cancel! Честно говоря, на ней вообще нет кнопок. Кстати, как определить, на какие кнопки будут "жать" ENTER и ESCAPE?
Может быть, необходимо сделать обработчики для кнопок, которых нет???
PM MAIL   Вверх
keisik
Дата 21.5.2002, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.3.2002

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



CDialog::OnOK() и OnCancel() не есть обработчики, это функции-члены класса CDialog, и вызываются при нажатии на Enter и Cancel соответственно, вне зависимости от наличия или отсутствия соответствующих кнопок. Если же у тебя на диалоге будут кнопки с идентификаторами IDOK и IDCANCEL, то для них будут созданы соответствующие обработчики, включающие в себя и эти самые функции из CDialog.
Вот.
--------------------
...None of that can stop us now,we will make it through somehow...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




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


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

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