Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Окно из одного CComboBox 
V
    Опции темы
Nuzur
Дата 30.1.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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




Не хочетсо создавать диалог для одного контрла. Хочу динамически его создать сделать модальным и при выборе чего то-то там из него закрыть.
Как такое сделать?

Я думал у него есть что-то в духе DoModal() или что-то схожее но не нашел, подскажите пожалуйста!


--------------------
Never again...
PM MAIL   Вверх
KelTron
Дата 30.1.2007, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не хочется, а придется. Стандартные диалоги у которых есть DoModal это 
CFileDialog, CColorDialog, CFontDialog, CFindReplaceDialog, CPrintDialog, CPageSetupDialog 
я думаю из названий понятно для чего они


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Nuzur
Дата 31.1.2007, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



KelTron, причем тут одно к другом? Каждая компонента по-сути окно. Вот так вот срабатывает 50 на 50

Код

    CComboBox * ComboList;
    ComboList = new CComboBox;
    CRect Rect;
    this->GetWindowRect(Rect);

    ComboList->Create
                    (
                        CBS_DROPDOWNLIST,
                        Rect,
                        this,
                        WM_USER + 100
                     );

    ComboList->ShowWindow(SW_SHOWNORMAL);


Так что я думаю что не прийдется. Просто я еще не знаю точно как заставить быть модальным и работать на 100.

ЗЫ Типа у CDialog DoModal нет? Непонятно мне к чему вы мне писали сие. Если конструктивных идей нет то пиши лучше в личку.


--------------------
Never again...
PM MAIL   Вверх
Earnest
Дата 31.1.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



У "просто" окна есть RunModalLoop. Но не думаю, что вызывать его для child-окна - хорошая идея.


--------------------
...
PM   Вверх
KelTron
Дата 31.1.2007, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Nuzur @  31.1.2007,  12:03 Найти цитируемый пост)
 Типа у CDialog DoModal нет? Непонятно мне к чему вы мне писали сие. Если конструктивных идей нет то пиши лучше в личку.

Наверно я не совсем корректно выразился, я имел ввиду, что стандартного вспомогательного мини - диалога типа тех, что я привел, который бы содержал CComboBox нет.


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Nuzur
Дата 31.1.2007, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



KelTron, я в курсе, иначе тему не поднимал бы.

Earnest, насколько я понимаю его можно "причепить" при создании?
А почему плохо. к чему сие может привести нехорошему? Я в принцЫпе уже сделал на диалоге, но идея мне понравилась.

Это сообщение отредактировал(а) Nuzur - 31.1.2007, 19:13


--------------------
Never again...
PM MAIL   Вверх
Earnest
Дата 1.2.2007, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



Цитата(Nuzur @  31.1.2007,  20:13 Найти цитируемый пост)
насколько я понимаю его можно "причепить" при создании?

Не поняла вопроса.
Почему плохо - объяснить словами не могу... позвоночником чувствую smile  RunModalLoop запускает отдельный цикл выборки\обработки сообщений, относящихся к окну и его потомкам... а, скажем, выпадающий из комбобокса список потомком не является...
Лучше такие вещи делать на подложке (на диалоге, как ты сделал, или на поп-ап окне). Кстати, модальный режим тут не особо подходит, мне кажется: что если пользователь передумает выбирать? Как ему отказаться? Лучше делать не модальное поп-ап окно и закрывать его при потере фокуса. 


--------------------
...
PM   Вверх
Nuzur
Дата 1.2.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Earnest, Да такой вариант мне тоже нравится, но ето будет выпадать из общей структуры проекта. что плохо. Тоесть не учить же пользователя что в етом месте программы мы так а в етом вот так.

Цитата

Не поняла вопроса.

Я уже тоже smile Дурь какую-то сморозилsmile Конец рАбочего дня...ёма-ё

Цитата

Почему плохо - объяснить словами не могу... позвоночником чувствую smile  

Я вашему позвоночнику доверяю smile

Ладно резюме: Идею ф топку!

Это сообщение отредактировал(а) Nuzur - 1.2.2007, 11:48


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


 




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


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

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