Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перерисовка StatusBar [D7, XP]


так себе ©   (2007-02-10 16:24:00) 

На форме 2 Radiobuttin'а. В зависимости какой из них выбран должен выводиться текст в StatusBar. делал так:
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
 Panel: TStatusPanel; const Rect: TRect);
begin
   if Radiobutton1.Checked then
 begin
   with  StatusBar1.Canvas do
   begin
     FillRect(rect);
     Font.Color := clRed;
     TextOut(rect.Left, Rect.Top, '  Долг');
   end;
 end else
 begin
   with  StatusBar1.Canvas do
   begin
     FillRect(rect);
     Font.Color := clgreen;
     TextOut(rect.Left, Rect.Top, '  Переплата');
   end;
 end;
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
   StatusBar1.OnDrawPanel := StatusBar1DrawPanel;
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
 StatusBar1.OnDrawPanel := StatusBar1DrawPanel;
end;

В зависимости от того какой RadioButton вкючен перед запуском приложения - тот текс и выводится.
Однако при переключении RadioButton'ов смена выводимого текста не происходит. Что не так?


Johnmen   (2007-02-10 20:54:00) [1]


> так себе   (10.02.07 16:24) 

А зачем конструкции типа
begin;
 begin;
    ...
   end;
 end;
?


Loginov Dmitry   (2007-02-10 16:41:00) [2]


 procedure TForm1.RadioButton1Click(Sender: TObject);
 const
   Values: array[0..1] of string = ('Долг', 'Переплата');
 begin
   StatusBar1.SimpleText := Values[TRadioButton(Sender).Tag];
 end;


так себе   (2007-02-10 16:38:00) [3]


> Вызови в онкликах процедуру обновления статусбара.

StatusBar1.Refresh
Спасибо, сразу и не сообразил


ANB   (2007-02-10 16:27:00) [4]


> StatusBar1.OnDrawPanel := StatusBar1DrawPanel;

Что мы хотели сделать этими операторами ???

Вызови в онкликах процедуру обновления статусбара.


Наверх

Титульная страница Поиск, карта сайта Написать письмо