ProgressBar в StatusBar
От: KBH  
Дата: 19.04.02 06:24
Оценка: -1
Как поместить ProgressBar в StatusBar?
Re: ProgressBar в StatusBar
От: yogi Россия  
Дата: 19.04.02 06:27
Оценка:
Здравствуйте KBH, Вы писали:

KBH>Как поместить ProgressBar в StatusBar?


Блин, "уж сколько раз твердили миру"! Мало того, что вопрос задан не в том форуме. Так ведь и ответ может быть получен мгновенно, путем просмотра списка Q&A на этом сайте.
http://www.rsdn.ru/qna/?ui/sbpi.xml
Путь к сердцу женщины лежать не должен.
Re: ProgressBar в StatusBar
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 19.04.02 06:28
Оценка:
Здравствуйте KBH, Вы писали:

KBH>Как поместить ProgressBar в StatusBar?


Этот вопрос или форум WinApi, или MFC, или ATL/WTL...
Re[2]: ProgressBar в StatusBar
От: Sashko Россия http://www.dc.baika.ru/
Дата: 19.04.02 07:13
Оценка:
Здравствуйте DarkGray, Вы писали:

DG>Этот вопрос или форум WinApi, или MFC, или ATL/WTL...


А смотря на чем пишешь.
Re: ProgressBar в StatusBar
От: KBH  
Дата: 19.04.02 08:23
Оценка:
Что вы такие нервные? Больше не буду.
А вот мой переработанный вариант под C++Builder 5.

TfmMain *fmMain;
void ShowProgress()
{
  TProgressBar *ProgressBar = new TProgressBar(fmMain->StatusBar->Handle);
  ProgressBar->Parent = fmMain->StatusBar;
  ProgressBar->Align = alClient;
  ProgressBar->Min = 0;
  ProgressBar->Max = 100;
  for (int i = ProgressBar->Min; i <= ProgressBar->Max; i++) {
    Sleep(30);
    ProgressBar->Position = i;
  }
  delete ProgressBar;
}
Re[2]: ProgressBar в StatusBar
От: Dima2  
Дата: 19.04.02 08:31
Оценка:
Здравствуйте KBH, Вы писали:

KBH>Что вы такие нервные? Больше не буду.


Да тут поневоле нервным станеш
Re: ProgressBar в StatusBar
От: Вячеслав Ермолаев  
Дата: 19.04.02 14:00
Оценка:
Здравствуйте KBH, Вы писали:

KBH>Как поместить ProgressBar в StatusBar?

Очень просто.
Бросаешь ProgressBar на форму в любое место. Для StatusBar создаешь TStatusPanel и для этой панели в Style указываешь psOwnerDraw
В конструкторе формы
ProgressBar->Parent = StatusBar;
Определяешь событие StatusBar OnDrawPanel
void __fastcall TMyForm::StatusBarDrawPanel(TStatusBar *StatusBar,
TStatusPanel *Panel, const TRect &Rect)
{
if (Panel->Index == 0) // это для первой левой панели
{
ProgressBar->SetBounds(Rect.Left — 1, Rect.Top — 1, Rect.Right — Rect.Left + 2,
Rect.Bottom — Rect.Top + 2 );
}
}
В рантайме ProgressBar будет показываться в StatusBar.
С уважением, Вячеслав Ермолаев
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.