Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > VirtualTreeView & встроенный редактор


Автор: aktuba 23.1.2007, 20:14
Вопрос такой: как сделать вызов редактора в VT по двойному клику вместо одинарного?

Автор: Quadr0 23.1.2007, 21:05
...

Автор: aktuba 23.1.2007, 21:07
Цитата

Запретить автоматическое появление редактора в настройках и, обрабатывая событие двойного клика, вызывать его самостоятельно для того узла, над которым сейчас курсор. Готовая функция для получения узла под курсором у VT есть стопудово. Начинается скорее всего так: «GetNodeFrom...»


Я пробовал так, но, после запрета появления редактора в настройках, редактор не появляется совсем!!!

Автор: Quadr0 23.1.2007, 21:51
...

Автор: mai62 24.1.2007, 03:01
Делал так:
Код

procedure TForm1.WMStartEditing(var Message: TMessage);
var
  Node: PVirtualNode;
begin
  Node := Pointer(Message.WParam);
  aList.EditNode(Node, Message.LParam);
end;

procedure TForm1.aListDblClick(Sender: TObject);
begin
  PostMessage(Self.Handle, WM_STARTEDITING,
  Integer((Sender as TVirtualStringTree).FocusedNode),
  Integer((Sender as TVirtualStringTree).FocusedColumn))
end;


Делал через сообщение потому, что иначе, кажется, (делал давно, точно не помню) там получается рекурсия и выскакивает сообщение о переполнении стэка.

Автор: aktuba 24.1.2007, 15:36
mai62, спасибо  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)