Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.01;
Скачать: CL | DM;

Вниз

Горизонтальная прокрутка у TreeView...   Найти похожие ветки 

 
MTsv DN ©   (2007-12-03 18:10) [0]

Всем привет...

Возник вопрос: как убрать только горизонтальную прокрутку у TreeView? Тот код, что я постоянно использую не прокатывает:
WM_NCCALCSIZE:
 begin
  Style := GetWindowLong( frmMain.pnlDBJ_BT_CT.Handle, GWL_STYLE );
  If (Style and WS_HSCROLL) <> 0 Then
   SetWindowLong( frmMain.pnlDBJ_BT_CT.Handle, GWL_STYLE, Style and not WS_HSCROLL );
//    SetWindowLong( frmMain.pnlDBJ_BT_CT.Handle, GWL_STYLE, Style or WS_VSCROLL );
  inherited;
//   Result := true;
 end;

Если раскомментировать Result := true;, то получается как бы tvoNoScroll (т.е. скроллбаров нет), но прокрутка остается (это хорошо)... Пока можно и так использовать, но как-то "криво" это... А если раскомментировать: SetWindowLong( frmMain.pnlDBJ_BT_CT.Handle, GWL_STYLE, Style or WS_VSCROLL ); то это не решает проблему с "пропажей" вертикального скроллбара...

Может я слишком усложняю и есть более простой способ? У кого-нибудь есть идеи?


 
MTsv DN   (2007-12-03 18:36) [1]

pnlDBJ_BT_CT - это TreeView. Забыл избавиться от своего названия...


 
Дмитрий К ©   (2007-12-03 19:01) [2]

  WM_NCCALCSIZE:
     ShowScrollBar(tv.Handle,SB_HORZ,False);
?


 
MTsv DN ©   (2007-12-03 19:10) [3]

Респект... Работает...


 
volniy_strelok   (2008-04-02 17:59) [4]

а не моглибы описать по подробнее куда нужно вписать

 WM_NCCALCSIZE:
    ShowScrollBar(tv.Handle,SB_HORZ,False)
?


 
Compiler ©   (2008-04-02 18:33) [5]

> куда нужно вписать

В OnMessage у TreeView"a


 
volniy_strelok   (2008-04-03 11:19) [6]


> В OnMessage у TreeView

Такого нет в инспекторе объектов


 
Дмитрий К ©   (2008-04-03 11:56) [7]


> Такого нет в инспекторе объектов

TreeView или OnMessage?


 
volniy_strelok   (2008-04-03 13:06) [8]

Очень смешно :)
Но я серьездно не нашол события OnMessage  у TreeView


 
Дмитрий К ©   (2008-04-03 13:37) [9]

TKOLTreeView или TTreeView?
У TTreeView есть свойство HorzScrollBar.


 
volniy_strelok   (2008-04-03 14:50) [10]

Да TTreeView из стандартной библиотеки.
Но там нет ни свойства HorzScrollBar
ни события OnMessage


 
Дмитрий К ©   (2008-04-03 15:09) [11]


> нет свойства HorzScrollBar

Прошу прощения. Не туда посмотрел.
Для TTreeView будет примерно так:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ComCtrls;

type
 TMyTreeView = class(TTreeView)
 private
   procedure WMNCCalcSize(var Message: TMessage); message WM_NCCALCSIZE;
 end;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   MyTreeView: TMyTreeView;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

{ TMyTreeView }

procedure TMyTreeView.WMNCCalcSize(var Message: TMessage);
begin
 ShowScrollBar(Handle,SB_HORZ,False);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 MyTreeView := TMyTreeView.Create(Self);
 MyTreeView.Parent := Self;
end;

end.

хотя, оффтоп это все.


 
volniy_strelok   (2008-04-03 16:26) [12]

хмм... у меня сейчас вот так

TMyTreeView = class(TTreeView)
private
 Procedure WMNCCalcSize( Var msg: TMessage ); message WM_NCCALCSIZE;
end;

procedure TMyTreeView.WMNCCalcSize(var msg: TMessage);
var
 style: Integer;
begin
 style := getWindowLong( handle, GWL_STYLE );
 If (style and WS_HSCROLL) <> 0 Then
   SetWindowLong( handle, GWL_STYLE, style and not WS_HSCROLL );
 inherited;
end;


т.е. как я понимаю без написания собств коппонента не обойтись


 
MTsv DN   (2008-04-04 18:16) [13]

А почему в этой ветке обсуждения про TTreeView??? Где модераторы???



Страницы: 1 вся ветка

Текущий архив: 2009.11.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
2-1252566358
Андр
2009-09-10 11:05
2009.11.01
удаление ярлыков


1-1222409853
Zheksonz
2008-09-26 10:17
2009.11.01
Привязка к графическому объекту вне зависимости от масштаба


2-1252496495
DmitryNPK
2009-09-09 15:41
2009.11.01
Компьютер заблокирован


2-1252333617
Rembo
2009-09-07 18:26
2009.11.01
Многопоточный Indy (idHTTP)


15-1251495179
Германн
2009-08-29 01:32
2009.11.01
Опять про зрение