TStatusBar
Code: |
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); begin with statusbar1.Canvas do begin Brush.Color := clRed; FillRect(Rect); TextOut(Rect.Left, Rect.Top, 'Панель '+IntToStr(Panel.Index)); end; end;
|
- Подробности
- Родительская категория: VCL
- Категория: TStatusBar
Этот StatusBar позволит размещать на себе любые другие контролы.
Создаем новый компонент от StatusBar и првим код как внизу. Потом инсталлируем и все.
- Подробности
- Родительская категория: VCL
- Категория: TStatusBar
Статусбар, это стандартный элемент управления Windows и как все отображает шрифт, заданный в параметре clBtnText, который устанавливается через Панель управления. Поумолчанию этот цвет чёрный, но он может менятся в зависимоти пользовательской темы. StatusBar и связанные с ним панели имеют возможность самостоятельной перерисовки (owner-draw), позволяющей рисовать текст различными цветами. Для этого необходимо в TStatusBar.Panels установить свойство Style в OwnerDraw.
- Подробности
- Родительская категория: VCL
- Категория: TStatusBar
Вставить ProgressBar в StatusBar:
Вот эту функцию применять вместо стандартного Create
- Подробности
- Родительская категория: VCL
- Категория: TStatusBar
Я покажу как сделать так, чтобы строка состояния (Status Bar) показывала все всплывающие подсказки (Hint) элементов управления формы при нахождении курсора мыши в области компонента. Имеется пара решений данной задачи, но в любом случае вы должны создать код для каждой формы (пока я не знаю другого решения).
- Подробности
- Родительская категория: VCL
- Категория: TStatusBar
В строке состояния TStatusBar выводится только 127 символов.
Можно ли как-нибудь увеличить это число?
- Подробности
- Родительская категория: VCL
- Категория: TStatusBar
Предположим, у вас есть StatusBar с 4-мя панелями, плюс таймер. Тогда вы можете сделать:
- Подробности
- Родительская категория: VCL
- Категория: TStatusBar
Code: |
{ To use this example, you need a TStatusBar and at least one Panel. Then change the style of StatusBar1.Panels[0] to psOwnerDraw and add the code below to the OnDrawPanel handler. }
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); var SomeText: string; begin if Panel = StatusBar1.Panels[0] then begin SomeText := 'Hello!'; Panel.Width := Trunc(StatusBar1.Canvas.TextWidth(SomeText) * 1.5); with StatusBar.Canvas do begin Brush.Color := clWhite; FillRect(Rect); Font.Name := 'Arial'; Font.Color := clRed; Font.Style := Font.Style + [fsItalic, fsBold]; TextRect(Rect, Rect.Left + 1, Rect.Top, SomeText); end; end; end; |
- Подробности
- Родительская категория: VCL
- Категория: TStatusBar
Code: |
With StatusBar1.Panels[1] do begin Text := Edit1.Text; Canvas.Font.Size := StatusBar1.Font.Size; Width := Canvas.TextWidth(Text) + 10; end;
|
- Подробности
- Родительская категория: VCL
- Категория: TStatusBar