Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何使用Visual Basic 2010将DataGridView WM_PAINT消息直接发送到DC(设备上下文)?_Vb.net - Fatal编程技术网

Vb.net 如何使用Visual Basic 2010将DataGridView WM_PAINT消息直接发送到DC(设备上下文)?

Vb.net 如何使用Visual Basic 2010将DataGridView WM_PAINT消息直接发送到DC(设备上下文)?,vb.net,Vb.net,我想用旧的VB6做我过去做过的事情。自VB6以来,子类化已经发生了很大变化,我仍然希望这样做: 我需要截取DataGridView的WM_画图,将其发送到内存设备上下文(以避免闪烁),进行一些视觉更改,比如在整个网格上放置一个徽标。使用VB6,很容易做到。我花了几个小时试图将VB6/API代码转换为Visual Basic Express 2010代码,但没有成功 所以,如果有人知道怎么做。。。请告诉我 谢谢,这是预付款 Abílio Rodrigues您不能将消息发送到设备上下文,只能发送到w

我想用旧的VB6做我过去做过的事情。自VB6以来,子类化已经发生了很大变化,我仍然希望这样做:

我需要截取DataGridView的WM_画图,将其发送到内存设备上下文(以避免闪烁),进行一些视觉更改,比如在整个网格上放置一个徽标。使用VB6,很容易做到。我花了几个小时试图将VB6/API代码转换为Visual Basic Express 2010代码,但没有成功

所以,如果有人知道怎么做。。。请告诉我

谢谢,这是预付款


Abílio Rodrigues

您不能将消息发送到设备上下文,只能发送到windows。获取控件的窗口句柄,并将消息发送到该控件。

您不能将消息发送到设备上下文,只能发送到windows。获取控件的窗口句柄,并将消息发送到那里。

MySubclassedGrid=CallWindowProc(GetProp(hw,“lpPROC”)、hw、lMsg、ByVal BackBuffDC、0&)上面的代码是我自己编写的,以便使用VB6将WM_PAINT发送到BackBuffer,在一个案例中使用WM_PAINT…而且它工作正常!但是,我不知道如何在OnPaint覆盖中使用此代码。还剩下一些东西…换句话说,您正在寻找
SendMessage()
?MySubclassedGrid=CallWindowProc(GetProp(hw,“lpPROC”)、hw、lMsg、ByVal BackBuffDC、0&)上面的代码是我自己编写的,以便使用VB6将WM_PAINT发送到一个BackBuffer,在一个案例中使用WM_PAINT…它工作了!但是,我不知道如何在OnPaint覆盖中使用此代码。还剩下一些东西……换句话说,您正在查找
sendmages()