Главная страница
    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.039 c
1-1087466241
Denis_Visma
2004-06-17 13:57
2004.07.04
Меню главного окна + меню MDI окна


14-1087166444
Mobias
2004-06-14 02:40
2004.07.04
???


1-1087746659
AlexG
2004-06-20 19:50
2004.07.04
Операция Merge неправильно выполняется


1-1087334670
Knapweed
2004-06-16 01:24
2004.07.04
Ошибка при модальном вызове формы из DLL. Я в отчаянии!


14-1087044329
Palladin
2004-06-12 16:45
2004.07.04
Не понял...





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