控件数组Picture(0)~Picture(5),latetabindex为上次点击的控件的Tabindex值,点击其中一个控件后,判断是不是点击的同一个控件
Private Sub Picture_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
            If latetabindex <> Picture(Index).TabIndex Then
               Call Drawpoint(Picture(Index))     不但要对这个控件操作
               Call Drawpoint(??????????)         还需要对上次点击的控件进行操作被调用过程为
           Sub Drawpoint(ByVal objp As PictureBox)
                DrawFocusRect objp.hdc, lpRect    API函数在对象objp上画图
           end sub这里存在传递上次操作的控件对象的问题,应该用什么样定义的变量来传递具体某个控件对象,
或者可以用控件句柄来实现?具体又该怎么做?
反正是想达到这样的要求   变量latepicture=Picture(5),再调用函数 Drawpoint(latepicture),实现对控件Picture(5)的画图功能补:本人自己定义了一个控件对象变量如下,但在使用的时候,发现调用 Drawpoint(latepicture)的话,
   latepicture对象不是具体某个 Picture(Index),而是所有的 Picture()对象都调用了这个函数,why ???   Dim latepicture As PictureBox   声明变量
   Set latepicture = Picture(Index)  控件对象变量的赋值

解决方案 »

  1.   

    Private Sub Picture_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
                If latetabindex <> Picture(Index).TabIndex Then
                   Call Drawpoint(Picture(Index))     不但要对这个控件操作
    static lastidx as integerif lastidx<>123 then               Call Drawpoint(picture(lastidx))         还需要对上次点击的控件进行操作
    lastidx=index
    end sub
    这样行不行,第一次点击可能会出错。不过你可以给lastidx设为123,用来判断是不是第一次点击