使用句柄

时间:2016-01-06 16:54:31

标签: vb.net class picturebox handle hdc

我正在制作一个看起来像Opengl的课程。该项目最重要的部分是用户绘制的地方。到目前为止,我已使用此代码从名为Cube的表单中访问名为Frame的图片框:

Private Sub RenderScene()
    Dim Form_Name As Cube
        Form_Name = Cube

    If GL_GraphicsInitialized Then
        Dim InitBMP As New Bitmap(Form_Name.Frame.Width, Form_Name.Frame.Height)
        Dim LoadGraph As Graphics = Graphics.FromImage(InitBMP)

        For I As Double = 0 To ObjectsIndex - 1
            For J As Double = 0 To Objects(I).FaceCount - 1

                For W As Double = 1 To Objects(I).Face(J).PointCount - 1
                    With Objects(I).Face(J)
                        LoadGraph.DrawLine(Pen1, .PointVertexes(W - 1).X + Objects(I).Position.X, .PointVertexes(W - 1).Y + Objects(I).Position.Y, .PointVertexes(W).X + Objects(I).Position.X, .PointVertexes(W).Y + Objects(I).Position.Y)
                    End With
                Next

                ''Connects the last vertex with the first one
                With Objects(I).Face(J)
                    LoadGraph.DrawLine(Pen1, .PointVertexes(Objects(I).Face(J).PointCount - 1).X + Objects(I).Position.X, .PointVertexes(Objects(I).Face(J).PointCount - 1).Y + Objects(I).Position.Y, .PointVertexes(0).X + Objects(I).Position.X, .PointVertexes(0).Y + Objects(I).Position.Y)
                End With

            Next
        Next
        Form_Name.Frame.Image = InitBMP
End Sub


但正如你所看到的,我必须使用那段烦人的代码Dim Form_Name As CubeForm_Name = Cube。我还使用了图片框的名称。
但我希望它是便于携带的,所以我提出了一个非常简单的想法:我可以拿出图片盒的句柄(我认为它叫做HDC)并使用该句柄绘制到图片框。
但我找不到任何Frame.hdc属性(我习惯了vb6)。有没有办法做到这一点?

0 个答案:

没有答案