![]() |
|
![]() ![]() ![]() |
|
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
Нередко приходится дублировать некоторые элементы управления в программе.
К примеру у меня есть некоторое свойство объекта, управляется оно слайдером. сейчас мне потребовалось продублировать этот слайдер в другом месте программы, те создать еще один слайдер, который будет управлять этим же свойством объекта. Необходимо теперь эти два слайдера синхронизировать - изменение одного из них должно отражаться на другом. Те мне нужно создать что-то типа ссылки в с++, но только гуишной ![]() Стало интересно, может существуют стандартные методы (типа: m_ctrlSome.SynchronizeWith( m_ctrlAnother ) ) или приемы, для организации сей фишки? |
|||
|
||||
Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
При движении одного слайдера делаешь другому two.SetPos(one.GetPos());
![]() И всех делов. -------------------- ????? ??, ??????? ?????. ![]() |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
||||
|
||||
Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
А интересно, можно-ли одну переменную связать с двумя контролами?
![]() Сейчас не могу попробовать. Но интересно! Это сообщение отредактировал(а) Andrey44 - 27.9.2007, 12:06 -------------------- ????? ??, ??????? ?????. ![]() |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Не понял,что ты хочешь толком,но кроме срздание промежуточного класса,в котором хранятся данные об изменении свойств обьекта,которых управляется слайдером,не вижу. Пересечений не будет,если организуешь все через сообщения. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
знаешь ссылку в с++? тоже самое хочу, изменяю один объект - абсолютно также одновременно изменяется другой. Вот но только для контролов. ![]() ![]() Вообщем то задачу конечно решил, но мне не нравится решение ![]() Если придумаю что-нить красивое, отпишусь. Это сообщение отредактировал(а) zkv - 29.9.2007, 16:05 |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 7 Всего: 92 |
Насколько также? Положение всё-таки, думаю, будет разным ![]() ![]() [offtop] А вообще, концепция сигнал/слотов (при встраивании соответствующей поддержке со стороны ГУИ-либы или написании своих обёрток) в данном случае очен красива и удачна. [/offtop] |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Если слайдеры находяться не в модальных диалогах, а на панелях, то сделай им одинаковые ид-ры и напиши метод OnUpdateCmdUI где-нибудь в таком классе, который точно получит управление - документе, виде, фрейме, ... где логичнее в общем.
Далее, эти слайдеры должны управлять каким-то глобально (или через документ) доступным свойством. И неважно, кто его установит - один из слайдеров или кто-то третий. Можно даже написать для этого конкретного слайдера свой класс и повесить OnUpdateCmdUI ему на REFLECT. И тогда хоть 10 слайдеров заведи - все будут работать как один. Это примерно тот же механизм, который применяется для обновления кнопок, пунктов меню и прочего... -------------------- ... |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |