gpt4 book ai didi

vb.net - 使用 WndProc 覆盖组合框的绘制

转载 作者:行者123 更新时间:2023-12-03 04:44:12 25 4
gpt4 key购买 nike

我已经重写了 ComboBox 的 WndProc,并且正在绘制自己的组合框,代码片段如下:

Protected Overrides Sub WndProc(ByRef m As Message)

MyBase.WndProc(m)
Select Case m.Msg
Case &HF

Dim g As Graphics = Me.CreateGraphics

If ComboBoxRenderer.IsSupported Then
Dim pTextBoxRect As New Rectangle(Me.ClientRectangle.X, Me.ClientRectangle.Y, Me.ClientRectangle.Width, Me.ClientRectangle.Height)
ComboBoxRenderer.DrawTextBox(g, pTextBoxRect, _tbState)
' .... and so on
End Select
End Sub

尽管旧控件仍在绘制,因为我绘制的组合框只是与旧绘图重叠。有没有办法阻止它绘制默认组合框?

谢谢,罗布

最佳答案

您正在使用的方法是完成它的唯一方法,但您是对的,它绘制在默认组合框的顶部,并且在仍然使用组合框控件时没有办法解决这个问题。

要真正获得自定义绘制的组合框,您需要在对象树中上一层,但最终您必须重新创建组合框的几乎所有功能。

关于vb.net - 使用 WndProc 覆盖组合框的绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/915078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com