![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как
vlv © (2002-12-02 12:59:00)???
Lord Warlock (2002-12-02 15:08:00) [1]
> Как "засунуть" ProgressBar в панель статусбара?
Нет ничего проще... просто поставь его на статусбар, сделай невидимым, а когда нужно, видимым. Все... глупо и просто
Кулюкин Олег (2002-12-02 15:05:00) [2]Я задавал такой вопрос 3 года назад, он (точнее, ответ на него) потом вошел в "Советы по Дельфи от Валентина Озерова".
Ностальгия заела :)))
Кот Бегемот (2002-12-02 14:55:00) [3]Аааааа - нашествие ламеров :(((
Song (2002-12-02 13:22:00) [4]Я извиняюсь. Не TStatusBar.Parent. А TProgressBar.Parent
Вот, более ничего не надо:
procedure TForm1.FormShow(Sender: TObject);
begin
With TProgressBar.Create(Self) Do Parent:=StatusBar1;
end;
vlv (2002-12-02 13:10:00) [5]TStatusBar.Parent нужно присвоить какой-нить WinControl.
А панель статусбара им не является. Можно, конечно, сам бар сунуть, но если много панелей, лениво координаты пересчитывать.
Игорь Шевченко (2002-12-02 13:09:00) [6]К примеру, так:
ProgressBar рисуется на той области StatusBar"а, которая не занята панелями...
procedure TfrmMain.ShowProgress;
var I : Integer;
R : TRect;
begin
SetRect(R, 0, 0, 0, 0);
for I:=0 to Pred(ssBar.Panels.Count) do
Inc(R.Left, ssBar.Panels[I].Width);
R.Right := ssBar.ClientWidth;
if WindowState <> wsMaximized then
Dec(R.Right, ssBar.ClientHeight);
R.Top := 3;
R.Bottom := ssBar.ClientHeight;
with ProgressBar1 do begin
BoundsRect := R;
Parent := ssBar;
Visible := True;
end;
end;
Song (2002-12-02 13:03:00) [7]TStatusBar.Parent
Андрей Сенченко (2002-12-02 13:03:00) [8]Нарисовать ProgressBar на той же панели