Как настроить цвета и шрифт в панели StatusbarДелается это при помощи контрола PictureBox и API функций. Каждая панель statusbar может отображать объект Picture, поэтому Вы можете использовать невидимый элемент управления PictureBox с фоном, шрифтом и видимыми элементами, и связать картинку PictureBox с объектом Picture в панели статуса. Объект Panel имеет свойство Width, не не имеет свойства Height. При помощи API функции SendMessage можно получить высоту. Поместите PictureBox на форму и назовите её picStatus, установив AutoRedraw в True, а Visible в False.
Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Declare Function SendMessage Lib _ "user32" Alias "SendMessageA" (ByVal hWnd As _ Long, ByVal wMsg As Long, ByVal wParam As _ Long, lParam As Any) As Long Private Const WM_USER = &H400 Private Const SB_GETRECT = (WM_USER + 10) Private Sub PanelText(sb As StatusBar, Index As _ Long, aText As String, bkColor As Long, _ fgColor As Long) Dim R As RECT SendMessage sb.hWnd, SB_GETRECT, Index - 1, R With picPanel Set .Font = sb.Font .Move 0, 0, (R.Right - R.Left + 1) * _ Screen.TwipsPerPixelX, (R.Bottom - _ R.Top + 1) * Screen.TwipsPerPixelY .BackColor = bkColor .Cls .ForeColor = fgColor picPanel.Print aText sb.Panels(Index).Text = aText sb.Panels(Index).Picture = .Image End With End Sub Private Sub Form_Load() PanelText StatusBar1, 1, "Panel Message", _ QBColor(1), QBColor(15) End Sub
|