Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2009.11.01;
Скачать: [xml.tar.bz2];

Вниз

Горизонтальная прокрутка у 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 вся ветка

Форум: "KOL";
Текущий архив: 2009.11.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
1-1222068508
Decoding
2008-09-22 11:28
2009.11.01
CPL


15-1251978047
oxffff
2009-09-03 15:40
2009.11.01
Subfocus. Deep space. Нереальный трек!


15-1251533104
oldman
2009-08-29 12:05
2009.11.01
Всем привет, я вернулся.


11-1207200531
Дмитрий Пырин
2008-04-03 09:28
2009.11.01
Подскажите грамотный способ загрузить данные из файла в ListBox


2-1253088223
Johnnnn
2009-09-16 12:03
2009.11.01
ShellExecute как узнать когда закончено выполнение?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский