![]() |
#20 |
Коллективное бессознательn ое
|
Привет, Вась. Давно не виделись.
Мы, кстати, в ПРК вместе работали. Единственное, что прошу учесть - я аналитик, а не программист. Так что возможны тупые ошибки. ![]() Теперь к делу. Была у меня мечта - на лету делать Dialog, в него пихать мой любимый ListView и там его заполнять какими-то данными, рисовать контекстное меню и.т.д. В коде ниже по нажатию на кнопку рисуется диалог, в него добавляется ListView и перегружается метод mouseDblClick. Делается так: 1. В форму Dialog добавляем метод с именем: <MyFormControlName>_<OverloadedMethodName> сигнатура метода должна совпадать с сигнатурой стандартного метода. (Все это описано выше в тексте, приведенным ART) 2. В Source метода пишем свой код (стоит его заранее отладить, это просто). 3. Сохраняем все это добро, компилируя без вывода в окно сообщений. 4. Создаем и инициализируем диалог 5. Включаем "режим" перегрузки методов контролов 6. Создаем свой контрол с именем <MyFormControlName> 7. Пускаем диалог 8. Удаляем свой метод Это "топорный метод", неприемлемый для боевых условий по очевидным причинам (динамически изменяется форма Dialog). И когда у нас хотябы 70 юзеров запустят этот диалог (пусть даже с проверками на существование метода), может быть плохо. Решение я вижу в том, чтобы сделать "свою" форму диалога и добавить туда сразу методов, а потом просто манипулировать именем создаваемого контрола. Вот. Код: PHP код:
|
|
|
За это сообщение автора поблагодарили: Lemming (1). |