Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как подавить реакцию TTreeView на двойной клик? [D7, WinXP]


Страницы:   1 2 3 4 5

АлександрМ ©   (2007-07-05 01:42:00) 

TTreeView при двойном клике сворачивает или разворачивает ту ветку на которой был выполнен этот двойной клик. На событие OnDblClick сделан свой обработчик. И не нужно, чтобы ветка при этом закрывалась или открывалась (пусть пользователь сворачивает или разворачивает её только с помощью кнопок - и +). Подскажите, пожалуйста, как это сделать.


{RASkov}   (2007-07-05 20:01:00) [61]

А я ни с кем не работаю... пишу себе так.... для души и себя... и один.
И частенько использую метод "подмены" предложенный Инс. Если эта подмена происходит в другом модуле (См[8]) то комментирую эти веСЧи...:)
Ну в самом деле... в простеньких проектах это удобнее, чем создание их(контролов) в рантайм или еще хуже отдельным компонентом...
Спор бесполезен... так как оба правы и оба не правы в одно и тоже время :) Все зависит от конкретного проекта.
:о)

> [31] Инс ©   (05.07.07 19:27)
> Вы не любите кошек? Вы просто не умеете их готовить! ;)

Не отступай :)


Инс   (2007-07-05 19:27:00) [62]


> [30] Desdechado ©   (05.07.07 18:50)


Вы не любите кошек? Вы просто не умеете их готовить! ;)


Desdechado   (2007-07-05 18:50:00) [63]

Я против таких маневров с именами классов.
Есть подозрения, что проекты с пакетами работать будут некорректно.
А уж то, что DLL, в которой хранится свое описание класса, будет работать некорректно по отношению к EXE с таким модифицированным описанием - это 100%.


b z   (2007-07-05 18:18:00) [64]


> Ega23 ©   (05.07.07 17:52) [27]

ведь не зря упямянул [13], т.к. когда начинть проект - это одно, а вот сапорт - другое ... ;)


Инс   (2007-07-05 17:56:00) [65]


> Ega23 ©   (05.07.07 17:52) [27]


Не умножать количество сущностей без надобности - Бритва Оккама. Известный принцип. Это я про другую сторону вашего утверждения про сущности...


Ega23   (2007-07-05 17:52:00) [66]


> а вы сами то [13] ?


Знаешь, если я вижу переменную btn : TButton, то я буду УВЕРЕН, что это именно стандартный TButton. Со всеми его методами, свойствами и событиями.
Вот если я увижу TMyButton или THackButton - то тогда да, обязательно залезу и посмотрю, что это такое. Но не раньше.
Просто Инс © предлагает подменять существующие сущности своими. А я говорю, что их подменять - нельзя. Надо создать новую сущность. Пусть очень похожую. Но - новую.


sdts   (2007-07-05 17:23:00) [67]

Для
> Ega23 ©   (05.07.07 17:01) [22]

а вы сами то [13] ?


Инс   (2007-07-05 17:17:00) [68]


> Хватит спорить :)


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


{RASkov}   (2007-07-05 17:11:00) [69]

> Ega23

> Инс

Хватит спорить :) Присядте где нибудь вместе, и за кружечкой пива поговорите. :о)


Инс   (2007-07-05 17:04:00) [70]


> Hack-класс - нормальное решение. Но идентификатор данного
> класса создаётся с другим семантическим названием.
> В отличие от.


Ну, как сказать, нормальное. Там просто проблема в другом. Доступ к protected полям закрыт идеологией ООП. А там мы ее нарушаем. И здесь мы нарушаем некоторые каноны, так что, приемы близки, ИМХО.


Ega23   (2007-07-05 17:01:00) [71]


> ЮЗ в одной из ссылок предлагал решение с Hack-классом, что
> не сильно далеко уходит от данной темы, хотя, интересно
> узнать мнение именно по этому поводу.


Hack-класс - нормальное решение. Но идентификатор данного класса создаётся с другим семантическим названием.
В отличие от.


Инс   (2007-07-05 17:00:00) [72]

Из сторонников можно еще DRON-а назвать, что также немало ;)
ЮЗ в одной из ссылок предлагал решение с Hack-классом, что не сильно далеко уходит от данной темы, хотя, интересно узнать мнение именно по этому поводу.


Ega23   (2007-07-05 16:54:00) [73]


> Ссылки на обсуждения данного приема, дабы нам не повторяться:
>
> Первоисточник - http://ww.delphikingdom.com/asp/answer.asp?IDAnswer=35814
> http://www.delphikingdom.com/asp/articles_forum.asp?ArticleID=1296
> http://www.delphikingdom.com/asp/answer.asp?IDAnswer=47497
> http://www.delphikingdom.com/asp/answer.asp?IDAnswer=49421


Прочитал.
Из сторонников увидел только Вас да восторги Geo, которому понравилось решение (решение красивое, спорить не буду. Но - только для личного пользования с полным пониманием того, что ты делаешь).
Из противников - Антоха Григорьев, что уже немало. Хотелось бы мнение АП, ИШ или ЮЗ на этот счёт услышать.


Ega23   (2007-07-05 16:29:00) [74]


> Это Ваше личное мнение, а вот от некорректных сравнений
> прошу воздержаться. Теряю интерес к данному спору, так как
> еще раз повторю, уже миллион раз обсуждалось, и всегда находились
> и противники и сторонники. Сам данный трюк порою использовал,
>  никаких побочных эффектов из-за этого не было и не будет,
>  так как считаю, что в состоянии объективно оценить ситуацию
> и выбрать наиболее подходящее решение. Тем, кто не в состоянии
> - использование данного приема (и прочих подобных) противопоказано.


Да делайте что хотите, Вы в своём праве. Зачем только такие советы начинающим давать?

З.Ы. ВОГ-17 можно использовать как ручную гранату контактного действия. Надо всего лишь перед броском об что-нибудь твёрдое её ударить, чтобы на боевой взвод встала.
Прямых запретов нигде нет. Однако почему-то её таким образом крайне редко используют. Вот интересно, а почему?


Инс   (2007-07-05 16:27:00) [75]

Ссылки на обсуждения данного приема, дабы нам не повторяться:
Первоисточник - http://ww.delphikingdom.com/asp/answer.asp?IDAnswer=35814
http://www.delphikingdom.com/asp/articles_forum.asp?ArticleID=1296
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=47497
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=49421


Инс   (2007-07-05 16:16:00) [76]


> Ещё раз повторяю, что такой трюк уместен на столько же,
> насколько уместен выход из рекурсивной процедуры через goto.


Это Ваше личное мнение, а вот от некорректных сравнений прошу воздержаться. Теряю интерес к данному спору, так как еще раз повторю, уже миллион раз обсуждалось, и всегда находились и противники и сторонники. Сам данный трюк порою использовал, никаких побочных эффектов из-за этого не было и не будет, так как считаю, что в состоянии объективно оценить ситуацию и выбрать наиболее подходящее решение. Тем, кто не в состоянии - использование данного приема (и прочих подобных) противопоказано.


Ega23   (2007-07-05 16:07:00) [77]


> Если мне предоставят код с данным трюком, я еще спасибо
> скажу за то, что мне не понадобится регистрировать ничего
> в палитре, чтобы проверить работоспособность.


А не надо регистрировать. Надо в ран-тайм создавать. А вот если такое создание сплошь и рядом идёт - то тогда сам Баал велел компонент ставить.


> Еще раз повторю, что такой трюк при умелом использовании
> вполне безопасен (если конечно класс нужно подкорректировать
> чуть-чуть, а не капитально).


Ещё раз повторяю, что такой трюк уместен на столько же, насколько уместен выход из рекурсивной процедуры через goto.


Инс   (2007-07-05 16:04:00) [78]

Специально для эстетов: если определенное поведение (как например, реакция TreeView на двойной клик) не устраивает в определенном контроле (а не во всех контролах данного типа) - можно просто в рантайм подменить WindowProc.


Инс   (2007-07-05 15:54:00) [79]


> Вам доводилось заниматься командной разработкой большого
> проекта? А поддерживать чужой код?


Именно так в данный момент и работаю. А именно - учавствую в командной разработке сам + курирую некоторых других разработчиков. Если мне предоставят код с данным трюком, я еще спасибо скажу за то, что мне не понадобится регистрировать ничего в палитре, чтобы проверить работоспособность. Еще раз повторю, что такой трюк при умелом использовании вполне безопасен (если конечно класс нужно подкорректировать чуть-чуть, а не капитально).


Ega23   (2007-07-05 15:47:00) [80]


> Инс ©   (05.07.07 15:29) [12]
>
> Эстетические аспекты меня мало волнуют, ибо я сам понимаю
> все недостатки данного подхода. Мне интересны технические
> недостатки, которые перекроют технические достоинства.


Вам доводилось заниматься командной разработкой большого проекта? А поддерживать чужой код?
Всегда ли вы, видя объявление

var
bmp : TBitmap;

лезете посмотреть: а является ли TBitmap стандартным классоом TBitmap, или какой-нибудь Вася Пупкин, писавший этот код год назад, взял да и перекрыл его? Для решения своих маленьких нужд?
Не нравится TBitmap? Хорошо, пусть будет TADODataSet. Или TButton.


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо