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

Вниз

Помогите с проблемой!!! Полоса прокрутки в TreeView   Найти похожие ветки 

 
Fedorenko Igor   (2002-02-07 12:23) [0]

Помогите! Как заставить TreeView автоматически прокручивать окно когда "тащим" мышкой итем за пределы окна????


 
Petrovich (origin)   (2002-02-07 13:10) [1]

Вообще-то вопрос плохо понятен. Я так понимаю, что при перетаскивании итема вверх или вниз, в момент выхода за пределы окна дерева, дерево должно скроллироваться.
Если так, то такой пример тебе поможет.

У таймера интервал = 100.

procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Timer1.Tag := 0;
if (htOnItem in TreeView1.GetHitTestInfoAt(X,Y)) then
begin
{ Проверяем, находится ли курсор над первым или последним нодом }
if TreeView1.GetNodeAt(X,Y) = TreeView1.TopItem then
{ Устанавливаем признак, что надо скролиться вверх }
Timer1.Tag := 1
else
if TreeView1.GetNodeAt(X,Y).DisplayRect(False).Bottom >=
TreeView1.Top + TreeView1.Height-5 then
{ Устанавливаем признак, что надо скролиться вниз }
Timer1.Tag := -1;
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var Node: TTreeNode;
begin
inherited;
Node := nil;
case Timer1.Tag of
1:begin
{ Если движемся вверх, то берем предыдущий видимый нод... }
Node := TreeView1.TopItem.GetPrevVisible;
end;
-1:begin
{ Если движемся вниз, то берем следующий видимый нод... }
Node := TreeView1.TopItem.GetNextVisible;
end;
end;
if Assigned(Node) then
begin
{ ...и делаем его верхним }
TreeView1.TopItem := Node;
TreeView1.Repaint;
end
end;


 
Fedorenko Igor   (2002-02-07 13:39) [2]

Спасибо, но скроллинг вниз не работает


 
Petrovich (origin)   (2002-02-07 13:41) [3]

Поэкспериментируй с цифрой 5 в строчке
TreeView1.Top + TreeView1.Height-5


 
Fedorenko Igor   (2002-02-07 13:44) [4]

Спасибо, на -100 заработало :)



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
14-79435
Анатолий
2002-01-06 17:22
2002.02.25
Теория вероятностей! Помогите, люди добрые!!!!


14-79434
Knight
2002-01-05 11:37
2002.02.25
Пардон, Чего-нибудь типа Ресторатор для 16-разр.прилож. не встречали?


1-79378
tovSuhov
2002-02-08 16:36
2002.02.25
ProgressBar в StatusBar`е...


3-79276
Ars P
2002-01-31 11:05
2002.02.25
Чёт совсем запутался с чарсетами в interbase...


1-79342
MaxSit
2002-02-07 12:12
2002.02.25
QuickReport: Сохранение отчета в файл (TXT,HTML,DOC,.....)