![]() |
|
![]() ![]() ![]() |
|
LexaK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 17.11.2004 Репутация: нет Всего: нет |
Задача:
В окне вида рисуется некая технологическая схема, на которую в нужных местах (по смыслу этой схемы) надо разместить контролы, которые либо что-то показывают (например, температуру), либо при нажатии на них что-то делают (например, включают/выключают реле). Необходимо сделать так, чтобы в процессе работы эти контролы можно было перетаскивать, изменять их размеры, удалять и добавлять новые. Вывести картинку в вид проблем не представляет, создать нужные контролы тоже. Вопрос: как сделать описанное управление ими (и где - в классе самого контрола или в классе вида)? И как описывать функцию реакции на сообщение от контрола, если заранее неизвестен его ID? Заранее благодарен! |
|||
|
||||
Nastya |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 27.3.2002 Где: Мариуполь Репутация: 1 Всего: 44 |
1. Реализовавыть можно как в родительском классе. Но ихмо лучше созадать свой класс контролов и все нагрузку по пертаскиванию кинуть туда (просто обрабатывая сообщения от мыша).
2. Если ты знаеш придел в котором будет описн ID например от 500 до 1200 попробуй ON_COMMAND_RANGE , там будешь получать собственно номер отработавшего контрола. Можно сделать что бы контрол посылал сообщение радителю в котором бы передавал свой Id (посылка сообщений SendMessage) Не знаю, вариантов много. Все зависит от конкретной задачи -------------------- Что бы понять рекурсию, надо понять рекурсию "Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор |
|||
|
||||
Coocky |
|
||||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Каждый контрол долже представлять отдельный класс,производный от базового,что б ты мог обрабатывать сообщения..
Обрабатываешь сообщения мыши над областью?Делаешь MoveWindow(),удаляешь через DestroyWindow(),какие проблемы ![]()
![]() ![]()
Все сообщения касающиеся контрола,только в классе контрола! Я уже вижу реализацию этой задачи,может не совсем понятно обьяснил,так что стучи,обьясню,что непонятно ![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
||||||
|
|||||||
LexaK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 17.11.2004 Репутация: нет Всего: нет |
Спасибо. В принципе, все понятно. Буду реализовывать...
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |