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

Вниз

Прогресс Бар в СтатусБар   Найти похожие ветки 

 
Denis_Visma   (2004-06-21 12:10) [0]

Уважаемые помогите! Я посмотрел по поиску, но ничего не нашел, помогите с этим разобраиться. Мне надо сделать сабж. Я конечно мог бы найти компоненты которые это позволяют, но это уже краяний метод, можно ли это сделать руцями?
Спасибо.


 
serge ©   (2004-06-21 12:11) [1]

ProgressBar1.Parent:=StatusBar1;
ProgressBar1.LEft:=...; ProgressBar1.Top:=...;


 
Думкин ©   (2004-06-21 12:12) [2]

Рэй Конопка.


 
Denis_Visma   (2004-06-21 12:16) [3]

в смысле?


 
Думкин ©   (2004-06-21 12:17) [4]


> [3] Denis_Visma   (21.06.04 12:16)

У него описано сие в книге про компоненты.


 
Denis_Visma   (2004-06-21 12:24) [5]

а можно примерчик рабочего кода...я делаю как выше было сказано, так прогресс ьар пропадает...


 
serge ©   (2004-06-21 12:26) [6]

Left and Top properties are relative to StatusBar component.


 
han_malign ©   (2004-06-21 12:28) [7]

procedure DrawSimpleHProgressBar(aCanvas: TCanvas; const aRect: TRect; aColor: TColor;
  aText: string; aPercent: byte; aHCenterText: boolean);
var W,H,X,Y: integer;
   _rect: TRect;
   _clr: TColor;
   _bs: TBrushStyle;
begin
  if(aPercent>100)then aPercent:=0;
  W:=aRect.Right-aRect.Left+1; H:=aRect.Bottom-aRect.Top+1;
  _rect:=aRect;
  if(aPercent>0)then begin
     _rect.Right:=aRect.Left+W*aPercent div 100-1;
     _clr:=aCanvas.Brush.Color;
     aCanvas.Brush.Color:=aColor;
     aCanvas.FillRect(_rect);
     aCanvas.Brush.Color:=_clr;
     aText:=aText+" "+IntStr(aPercent)+"%";
     _rect.Left:=_rect.Right+1;
     _rect.Right:=aRect.Right;
  end;
  if(_rect.Right>=_rect.Left)then aCanvas.FillRect(_rect);
  Y:=(H-aCanvas.TextHeight(aText))div 2;
  if(Y<0)then Y:=0;
  X:=(W-aCanvas.TextWidth(aText))div 2;
  if(X<0)then X:=0;
  if((X>Y)and not aHCenterText)then
     if(Y>0)then X:=Y
     else if(X>2)then X:=2;
  _bs:=aCanvas.Brush.Style;
  aCanvas.Brush.Style:=bsClear;
  aCanvas.TextOut(aRect.Left+X,aRect.Top+Y,aText);
  aCanvas.Brush.Style:=_bs;
end;


 
Denis_Visma   (2004-06-21 12:32) [8]

Спасибо. Вопрос закрыт



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
6-1083773934
yakuza
2004-05-05 20:18
2004.07.04
Как обмениваться IP-пакетами на сетевом уровне, без TCP/IP и UDP?


1-1087385031
Duncan
2004-06-16 15:23
2004.07.04
Проблема с освобождением памяти


10-1017716590
Вячеслав Кляйн
2002-04-02 07:03
2004.07.04
Ещё раз про File not found: OrbPas.dcu


14-1087288974
Blondin
2004-06-15 12:42
2004.07.04
Pаcked Record


3-1086674008
SLP
2004-06-08 09:53
2004.07.04
Поле Identity