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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.033 c
14-1087281894
gn
2004-06-15 10:44
2004.07.04
КРУПНЕЙШАЯ МАТЕМАТИЧЕСКАЯ ПРОБЛЕМА РЕШЕНА В ИНТЕРНЕТЕ


1-1087797880
MikePol
2004-06-21 10:04
2004.07.04
TeeChart


1-1087883589
Dobriy
2004-06-22 09:53
2004.07.04
Отчёт


14-1087195534
syte_ser78
2004-06-14 10:45
2004.07.04
Уже несколько раз спрашивал, но никто так и не ответил


3-1086792107
GanibalLector
2004-06-09 18:41
2004.07.04
два fields в одном column





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский