




BV писал(а):И иначе можно, но тебе не понравится.



Kostyan писал(а):А не проще-ли использовать Image? Можешь сделать его хоть в виде лампочки.


Kostyan писал(а):А зачем тебе hdc? Нажал юзер мышкой по имеджу - поставил картинку соответствующую нажатому состоянию, кликнул ещё раз - вернул исходную. Изображения состояний можно хранить в ресурсе. А само состояние (Value) хранить в свойстве Tag. Конечно нельзя будет работать клавиатурой, но такова плата.






Option Explicit
Private Declare Function DrawFrameControl Lib "user32.dll" (ByVal hDC As Long, ByRef lpRect As RECT, ByVal un1 As Long, ByVal un2 As Long) As Long
Private Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type
Private Const DFC_BUTTON As Long = 4
Private Const DFCS_BUTTONRADIO As Long = &H4
Private Const DFCS_CHECKED As Long = &H400
Private Sub Form_Load()
  Dim r As RECT
  
  Me.AutoRedraw = True
  
  r.Left = 10: r.Top = 10: r.Right = 30: r.Bottom = 30
  DrawFrameControl Me.hDC, r, DFC_BUTTON, DFCS_BUTTONRADIO Or DFCS_CHECKED
  
  r.Left = 10: r.Top = 50: r.Right = 30: r.Bottom = 70
  DrawFrameControl Me.hDC, r, DFC_BUTTON, DFCS_BUTTONRADIO
End Sub


Сейчас этот форум просматривают: Yandex-бот и гости: 12