Могу ли я заменить WM_PAINT на paint eventergs или что-то другое?
Я близок к тому, чтобы встроенный элемент управления, чтобы мой элемент управления ListView. Прямо сейчас единственным препятствием является использование 64-кратного решения для рисования.
вот код, который я использую сейчас:
Private Const WM_PAINT As Integer = &HF Protected Overloads Overrides Sub WndProc(ByRef m As Message) Select Case m.Msg Case WM_PAINT Dim rc As Rectangle For Each ec As EmbeddedControl In _embeddedControls rc = Me.GetSubItemBounds(ec.Item, ec.Column) ec.Control.Bounds = rc Next Exit Select End Select MyBase.WndProc(m) End Sub
Я уже думал об использовании:
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs) Select Case e.Graphics Case Dim rc As Rectangle For Each ec As EmbeddedControl In _embeddedControls rc = Me.GetSubItemBounds(ec.Item, ec.Column) ec.Control.Bounds = rc Next End Select MyBase.OnPaint(e) End Sub
Проблема, с которой я сталкиваюсь, заключается в том, что я не понимаю, что такое WM_PAINT, кроме того, что он использует 32-битную систему, а не 64-битную, в которую встроена моя программа.
Что я уже пробовал:
Я построил событие paint, однако я не уверен, что нужно сделать так, чтобы оно ссылалось на него.