Конференция "Компоненты" » Компонент TTreeView с ComboBox'ами [D7, WinXP]
 
  • JanMihail (23.05.08 15:31) [0]
    Помогите создать свой компонент. Суть такая. Он должен представлять из себя обычный TreeView, только чтоб напротив каждой ветки был CheckBox.
    Скриншот: http://JanMihailPrograms.narod.ru/screens/interface.jpg
    Или подскжите ссылку если такой уже есть.
  • DimaBr © (23.05.08 16:19) [1]
    1. Помочь в создании - ДА !!!!
    2. Подсказать ссылку - НЕТ !!!

    Жду ответа...
  • DimaBr © (23.05.08 16:32) [2]
    TMyTreeView = class(ComCtrls.TTreeView)
     procedure CreateParams(var Params: TCreateParams); override;
    end;

    procedure TMyTreeView.CreateParams(var Params: TCreateParams);
    begin
     inherited;
     Params.Style := Params.Style or TVS_CHECKBOXES;
    end;

  • JanMihail (23.05.08 18:20) [3]

    > DimaBr

    Спасибо!!! Очень признателен Вам!
  • JanMihail (24.05.08 10:24) [4]
    Еще один вопрос. Создал компонент TTreeViewCheckBox. Все работает так, как я и хотел, но почему-то горизонтальная прокрутка появляется даже когд не надо.
    На скриншоте это видно:
    http://janmihailprograms.narod.ru/screens/TreeViewCheckBox.JPG

    Как сделать чтоб прокрутка появлялась только когда текст в Item'ах заходит за границы, как это сделано в TTreeView?
  • JanMihail (24.05.08 10:34) [5]
    И как определить состояние Itema стоит галочка или не стоит?
  • DimaBr © (26.05.08 09:21) [6]

    function TMyTreeNode.GetChecked: Boolean;
    var Item: TTVItem;
    begin
     with Item do begin
       mask := TVIF_STATE;
       hItem := ItemId;
       if TreeView_GetItem(Handle, Item)
         then Result := ((Item.State and TVIS_CHECKED) = TVIS_CHECKED)
         else  Result := False;
     end;
    end;

  • Dim (28.01.09 07:40) [7]
    Здравствуйте многоуважаемый DimaBr!!!
    Я этот кодик не понял, опишите по-подробнее пожалуйста.
    С уважением Dim.
  • DimaBr © (28.01.09 09:55) [8]
    Непонятно, что именно не понятно ?
    Заполняем запись-переменную и спрашиваем функцией TreeView_GetItem, далее анализируем ответ функции. В справке всё подробно написано.
  • leksmaster © (03.02.09 10:01) [9]
    А как сделать, чтобы CheckBox был только в записях высшего уровня. А в дочерних его небыло?
  • имя (03.02.09 10:02) [10]
    Удалено модератором
  • DimaBr © (03.02.09 10:32) [11]
    Добавьте в ImageList три картинки и отрисовывайте их как и где угодно, и не нужна морока с CheckBox-aми
 
Конференция "Компоненты" » Компонент TTreeView с ComboBox'ами [D7, WinXP]
Есть новые Нет новых   [134464   +62][b:0][p:0.001]