Текущий архив: 2007.05.20;
Скачать: CL | DM;
Вниз
ScrollBar в Treeview Найти похожие ветки
← →
Димыч © (2007-03-22 13:58) [0]Как заставить Treeview не показывать линйку прокрутки (ScrollBar)?
← →
Ega23 © (2007-03-22 14:25) [1]Удалить узлы. Все. :)
← →
clickmaker © (2007-03-22 14:28) [2]TVS_NOSCROLL
← →
Димыч © (2007-03-22 14:29) [3]TVS_NOSCROLL - это как? :)
← →
clickmaker © (2007-03-22 14:30) [4]это стиль. Окна TreeView
← →
Димыч © (2007-03-22 14:42) [5]Если я правильно понял то это придется пользоваться для создания Treeview"а функцией CreateWindowEx. Только вот программа уже написана, нельзя ли для Treeview использовать что то вроде CreateParams(var Params: TCreateParams); override; как для формы?
← →
Димыч © (2007-03-22 14:57) [6]Попытался создать новый класс:
type
Ttreeview_plus = class(TTreeView)
procedure CreateParams(var Params: TCreateParams); override;
end;
и даже вот так
type
Ttreeview_plus = class(TCustomTreeView)
procedure CreateParams(var Params: TCreateParams); override;
end;
выдаёт ошибку при компиляции:
[Error] Unit10.pas(10): Unsatisfied forward or external declaration: "Ttreeview_plus.CreateParams"
← →
RASkov (2007-03-22 15:03) [7]> [6] Димыч © (22.03.07 14:57)
Ну так реализацию кто делать будет?
← →
Димыч © (2007-03-22 15:07) [8]Ну да правильно, уже понял. Так же понял что сделал вторую ошибку - класто я переделал, а Делфя говорит мол класс у него TTreeview а ему присваивается TTreeview_plus, и предлагает исправить это дело. Вообщем либо мне всетаки придется заново TTreeview в программу внядрять либо я незнаю... Подскажите как это сделать правильно
← →
RASkov (2007-03-22 15:15) [9]> [8] Димыч © (22.03.07 15:07)
может так, как вариант:
type
Ttreeview_plus = class(TTreeView)
procedure CreateParams(var Params: TCreateParams); override;
end;
TTreeView = class(Ttreeview_plus);
TForm1 = class(TForm)
TreeView1: TTreeView;
.....
implementation
.........
{Ttreeview_plus}
procedure Ttreeview_plus.CreateParams(var Params: TCreateParams);
begin
end;
.....
← →
Димыч © (2007-03-22 15:24) [10]Проглатил! Я правда струдом понимаю как такое возможно. Получается что эторавносильно такому коду:
type
Ttreeview = class(TTreeView)
...
А как теперь грамотно написать в CreateParams изменение стиля окна?
← →
Димыч © (2007-03-22 15:40) [11]не могу найти константу TVS_NOSCROLL, она вроде как не существует. НАшел вот такие WS_EX_LEFTSCROLLBAR,WS_EX_RIGHTSCROLLBAR, больше ничего не нашел
← →
RASkov (2007-03-22 15:51) [12]> А как теперь грамотно написать в CreateParams изменение
> стиля окна?
Взять старый стиль окна... выкинуть ненужное, добавить нужное... установить получившийся новый.
← →
clickmaker © (2007-03-22 15:52) [13]\Delphi7\Source\Rtl\Win\CommCtrl.pas
← →
RASkov (2007-03-22 15:55) [14]> не могу найти константу TVS_NOSCROLL
CommCtrl.pas
TVS_NOSCROLL = $2000;
Может не совсем то, но может пригодится:
http://www.yandex.ru/yandsearch?rpt=rad&text=TVS_NOSCROLL
там всего пять ссылок....
← →
Димыч © (2007-03-22 16:07) [15]Скролл пропал. :) Только вот TreeView перестал реагировать на следующий код:
M.Msg := WM_VSCROLL;
M.ScrollCode := SB_Lineup;
form10.TreeView1.Dispatch(M);
Application.ProcessMessages;
- програмная прокрутка. Т.е. прокрутка стала невозможна. :) Видимо затея моя обречена на провал.
← →
Димыч © (2007-03-22 16:09) [16]Для справки (написал вот так):
Uses CommCtrl;
...
procedure TTreeview_plus.CreateParams(var Params: TCreateParams);
begin
inherited;
params.Style:=params.Style or TVS_NOSCROLL;
end;
Страницы: 1 вся ветка
Текущий архив: 2007.05.20;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.04 c