'Когда меняешь цвет фрейма, часть контрала вверху и углы также меняют цвет. 'Чтобы изменить цвет фрейма только внутри рамки нужно: 'Добавить shape внутрь frame
Public Sub HideTheUglyTopOfFrame(cFrame As Frame, cShape As Shape, Optional FillColor As Long = -1) 'Sorry, but I must Set the frame's Font (as it affects the size of the area above the top border) cFrame.Font = "MS Sans Serif" cFrame.FontBold = False cFrame.FontSize = 8 cFrame.Caption = "" 'Place your own descriptive Label within the Frame, instead.
With cShape .BackStyle = 1 'Opaque .BorderStyle = 0 'Transparent .Height = 105 .Left = 0 .Top = 0 .Width = cFrame.Width + 300 'To avoid slight lack of (right) coverage On larger frames. If FillColor = -1 Then .BackColor = cFrame.Parent.BackColor Else 'Caller must have the frame in non Form container, And has passed me it's backcolor .BackColor = FillColor End If End With End Sub
Private Sub Form_Load() HideTheUglyTopOfFrame Frame1, Shape1 End Sub
Если Вас заинтересовала или понравилась информация программирование на Visual Basic - "Изменение цвета Frame (внутри рамки)", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!