Архив категории ‘Компоненты’

Oct08

Небольшая особенность с VirtualTreeView

Делая одну программу, понадобилось смоделировать переход по ячейкам VirtualTreeView с помощью кнопки Tab. Перехват Tab-а отдельный разговор =), а вот переход по ячейкам сейчас обсудим.

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

with vtGrid do
begin
    TreeOptions.MiscOptions := vtGrid.TreeOptions.MiscOptions - [toEditable];
    Selected[lNode] := True;
    FocusedNode := lNode;
    FocusedColumn := lColumn;
    TreeOptions.MiscOptions := vtGrid.TreeOptions.MiscOptions + [toEditable];   
    EditNode(lNode, lColumn);
end;

В таком варианте все работает так, как и ожидается.

P.S.: отметьте для себя еще один момент - очередность присваивания фокуса в дереве - сначала SelectedNode, потом FocusedNode и только после этого FocusedColumn! Только так и никак иначе! В ином случае вас ждут не приятные сюрпризы ;)

Sep20

НИКОГДА так не делайте!

На, уважаемом мною, сайте delphiplus.org увидел ссылку на статью Фленова. Я и до этого с трудом переносил его книги и статьи, но эта статья просто возмутила!

 

Намного проще изменить стандартный компонент TButton и больше никаких изменений в проекте делать не надо.

 

Как так можно??? Вместо того, чтобы объяснить новичкам, что это ОЧЕНЬ не желательно, он призывает поступать именно так. Ну в конце-концов - есть хелперы в новых (и, относительно, не новых. например D2006) версиях Delphi.

 

Я понимаю, что иногда это будет полезно, но такие случаи очень-очень редки. А новички, прочтя подобную статью, будут именно так и поступать. Что-то мне не вериться, что в какой-либо компании, занимающейся разработкой программ и в которой больше одного программиста, будут поступать подобным образом.

 

Итог - НИКОГДА так не делайте и перестаньте читать Фленова!

Jun14

ShortCuts vs VirtualTreeView Editors

Что-то не видно желающих написать пост про VirtualTreeView для конкурса. Жаль...

Ну тогда я сам попробую ;) . Тем более, что нашелся подходящий повод.

Читать далее »