TTreeView; как отключить раскрытие узлов двойным кликом
От: siphiuel1234  
Дата: 16.11.05 12:14
Оценка:
Привет всем.
Вопрос такой же, как и тема сообщения . Есть ли какой либо способ сделать это либо с помощью VCL, либо с помощью API-функций? Просто двойной клик открывает окно свойств узла, и одновременно еще и раскрывает его содержимое в дереве. Как можно избежать раскрытия? Заранее благодарен
Re: TTreeView; как отключить раскрытие узлов двойным кликом
От: ak_miass Россия  
Дата: 16.11.05 12:32
Оценка:
Здравствуйте, siphiuel1234, Вы писали:

Подменяешь оконную процедуру дерева (см. TControl::WindowProc). И в своей пишешь примерно так:

void __fastcall TMyForm::NewTreeWndProc(TMessage &Msg)
{
    switch(Msg.Msg)
    {
        case WM_LBUTTONDBLCLK:
            //Здесь делаем что нужно по двойному клику и сразу выходим.
            return;
    }
    //Иначе, вызываем старую процедуру:
    OldTreeWndProc(Msg);
}
Re[2]: TTreeView; как отключить раскрытие узлов двойным клик
От: siphiuel1234  
Дата: 16.11.05 13:52
Оценка:
Cпасибо!
Re[3]: TTreeView; как отключить раскрытие узлов двойным клик
От: Аноним  
Дата: 16.11.05 19:20
Оценка:
Здравствуйте, siphiuel1234, Вы писали:

S>Cпасибо!


Не знаю, как в Билдере, но в Delphi не нужно рисовать никаких перекрытий оконной функции. Просто впиши директиву message WM_*** в заголовке.
Re[4]: TTreeView; как отключить раскрытие узлов двойным клик
От: ak_miass Россия  
Дата: 17.11.05 05:24
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Не знаю, как в Билдере, но в Delphi не нужно рисовать никаких перекрытий оконной функции. Просто впиши директиву message WM_*** в заголовке.

В заголовке чего?

Если речь идёт о наследовании своего класса дерева, то и Билдере ничего подменять не надо.
Подменить можно, если просто бросил обычный TreeView на форму.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.