1、关于listview,我点右键,弹出菜单,从而对选择项操作。现在的问题是,如何使得鼠标右键点击的时候和左键一样,使相应的行被选择。
假如有2行数据,我一开始选的是第一行,如果我移动鼠标到第2行点左键,仍然是第1行被选择,而不是第2行。
呵呵,说起来好象比较繁,不知是不是还不能让大家明白。(30分)2、关于画图。
(1)为什么在formload里不能够使用。。如果我想在窗体一开始的时候就画的话该如何做呢 ??(20分)
(2)如何填充扇行?(20分)3、一个工程有很多的窗体,是不是在程序一开始运行的时候就自动把所有的窗体加载了??如果是的话如何才能不让他自动加载呢??(30分)

解决方案 »

  1.   

    1.Micorosft Windows Common Control 6.0(SP6)控件本来就支持鼠标右键选择啊!!2.将PICTUREBOX控件的AUTOREDRAW属性设置为TRUE,或者在窗口的PAINT事件里画!3.不会,只在显示的时候加载,你说的可能是DELPHI吧(它也可以选择的啊)
      

  2.   

    Circle 方法在对象上画圆、椭圆或弧。语法object.Circle [Step] (x, y), radius, [color, start, end, aspect]Circle 方法的语法有如下的对象限定符和部分:部分 描述
    object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。
    Step 可选的。关键字 ,指定圆、椭圆或弧的中心,它们相对于当前 object 的 CurrentX 和 CurrentY 属性提供的坐标。
    (x, y) 必需的。  Single (单精度浮点数),圆、椭圆或弧的中心坐标。object 的 ScaleMode 属性决定了使用的度量单位。
    radius 必需的。Single (单精度浮点数),圆、椭圆或弧的半径。 object 的 ScaleMode 属性决定了使用的度量单位。
    color 可选的。Long (长整型数),圆的轮廓的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。
    start, end 可选的。 Single (单精度浮点数),当弧、或部分圆或椭圆画完以后,start 和 end 指定(以弧度为单位)弧的起点和终点位置。其范围从 -2 pi 到 2 pi 。起点的缺省值是0; 终点的缺省值是2 * pi。
    aspect 可选的。 Single (单精度浮点数),圆的纵横尺寸比。缺省值为 1.0,它在如何屏幕上都产生一个标准圆(非椭圆)。
    说明想要填充圆,使用圆或椭圆所属对象的 FillColor 和 FillStyle 属性。只有封闭的图形才能填充。封闭图形包括圆、椭圆、或扇形。
    画部分圆或椭圆时,如果 start 为负,Circle 画一半径到 start,并将角度处理为正的;如果 end 为负,Circle 画一半径到 end,并将角度处理为正的。Circle 方法总是逆时针(正)方向绘图。
    画圆、椭圆或弧时线段的粗细取决于 DrawWidth 属性值。在背景上画圆的方法取决于 DrawMode 和 DrawStyle 属性值。画角度为 0 的扇形时,要画出一条半径(向右画一水平线段),这时给 start 规定一很小的负值,不要给 0。
    .可以省略语法中间的某个参数,但不能省略分隔参数的逗号。您指定的最后一个参数后面的逗号是可以省略的。
    Circle 执行时,CurrentX 和 CurrentY 属性被参数设置为中心点。
    这个方法不能用在 With匛nd With 语句块中。
      

  3.   

    1.关注
    2.(1)事件:Private Sub Form_Activate()End Sub
    (2)不懂
    (3)是自动加载了.
      

  4.   

    1、我知道支持鼠标右键选择,可是我加了这个事件就不行了呀!
    Private Sub lvData_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Not lvData.HitTest(X, Y) Is Nothing Then
       hasData = True
       If Button = 2 Then
        mn_ope_open.Visible = False
        mn_ope_pksa.Visible = False
        mn_ope_none.Visible = False
        mn_ope_logout.Visible = False       PopupMenu mn_ope    mn_ope_open.Visible = True
        mn_ope_pksa.Visible = True
        mn_ope_none.Visible = True
        mn_ope_logout.Visible = True
       End If
       
    Else
      hasData = FalseEnd IfEnd Sub
      

  5.   

    1.
    Option ExplicitPrivate Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
    Private Const MOUSEEVENTF_LEFTDOWN = &H2 '  left button down
    Private Const MOUSEEVENTF_LEFTUP = &H4 '  left button up
    Private Const MOUSEEVENTF_MIDDLEDOWN = &H20 '  middle button down
    Private Const MOUSEEVENTF_MIDDLEUP = &H40 '  middle button up
    Private Const MOUSEEVENTF_RIGHTDOWN = &H8 '  right button down
    Private Const MOUSEEVENTF_RIGHTUP = &H10 '  right button upPrivate Sub SimulateMouseClick(ByVal MouseButton As MouseButtonConstants)    Select Case MouseButton
            Case vbLeftButton
                Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
                Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            Case vbRightButton
                Call mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
                Call mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
            Case vbMiddleButton
                Call mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0)
                Call mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0)
        End Select
        DoEvents
        
    End SubPrivate Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
        
        If Button = vbRightButton Then
            Call SimulateMouseClick(vbLeftButton)
            PopupMenu mnuTest
        End If
       
    End Sub
      

  6.   

    引用cuizm的
    “想要填充圆,使用圆或椭圆所属对象的 FillColor 和 FillStyle 属性。只有封闭的图形才能填充。封闭图形包括圆、椭圆、或扇形”什么是圆或椭圆所属对象??
    如何获得?
      

  7.   

    2、关于画图。
    (1)为什么在formload里不能够使用。。如果我想在窗体一开始的时候就画的话该如何做呢 ??(20分)    A: 在画图的代码前加:me.show(2)如何填充扇行?(20分)    A: Private Sub Form_Load()
        Show
        FillStyle = vbFSSolid
        FillColor = vbBlue
        Circle (ScaleWidth / 2, ScaleHeight / 2), 1000, vbWhite, -6.28, -1.57
    End Sub
    3、一个工程有很多的窗体,是不是在程序一开始运行的时候就自动把所有的窗体加载了??如果是的话如何才能不让他自动加载呢??(30分)    A:
        VB会自动添加一句隐藏的实例化(全局)窗体的语句。你可以声明一个私有的与窗体类同名的窗体实例来复盖这个全局窗体。
      

  8.   

    怎么放到picturebox里就不可以呢。DiskInfoPic.FillStyle = vbFSSolid
        DiskInfoPic.FillColor = vbRed
      DiskInfoPic.Circle (FullX, FullY), r, vbRed, 0, endpos
      DiskInfoPic.Line (FullX, FullY)-(FullX + r, FullY), vbRed
      DiskInfoPic.Line (FullX, FullY)-(FullX - r * Cos(PI - endpos), FullY - r * Sin(PI - endpos)), vbRed
      

  9.   

    怎么会有这样的情况??
    Private Const Pi = 3.1415926
    Circle (2000, 2000), 1000, vbBlue, 0, 0//这句竟然是画出整圆,,
    Circle (2000, 2000), 1000, vbBlue, 0, 2*Pi//这句竟然什么都 不画start 和 end 指定(以弧度为单位)弧的起点和终点位置。其范围从 -2 pi 到 2 pi 。起点的缺省值是0; 终点的缺省值是2 * pi。不是应该第一句什么都不画
    第二句画圆吗?
      

  10.   

    晕死我了~~~一些简单的问题,却说的这么复杂!!!太奇怪了???
    //////////////////////////////////////////////////////////////////////////////
    2、关于画图。
    (1)为什么在formload里不能够使用。。如果我想在窗体一开始的时候就画的话该如何做呢 ??(20分)下面这样就可以了,Private Sub Form_Load()
            Me.Show
            Line (1, 1)-(100, 100)
    End Sub
    /////////////////////////////////////////////////////////////////////////////3、一个工程有很多的窗体,是不是在程序一开始运行的时候就自动把所有的窗体加载了??如果是的话如何才能不让他自动加载呢??(30分)程序一开始运行的时候不会把所有的窗体都加载的!!!!!如果你有一个模块的话,模块中有一个 Sub Main() 的话,并且,你把这个 Sub Main()设置成启动的话,所有的窗体都不会被加载的窗体Form 只有在显示的时候,才会被加载的,/////////////////////////////////////////////////////////////////////////////