none
VB6.0 ComboBox 問題 RRS feed

  • 問題

  • 這兩天在寫VB6.0 使用ComboBox的時候,發現某些特定條件運作下,不能關閉、移動程式,但是卻可以運作。

    1.目前有三個ComboBox(style 2)其中在formload裡面的設定是

    'add iteam
    With ComboBinaryOneMode
    .AddItem ("M_EQUAL")
    .AddItem ("M_NOT_EQUAL")
    .AddItem ("M_GREATER")
    .AddItem ("M_LESS")
    .AddItem ("M_GREATER_OR_EQUAL")
    .AddItem ("M_LESS_OR_EQUAL")
    .ListIndex = 1
    End With

    With ComboBinaryTwoMode
    .AddItem ("M_OUT_RANGE")
    .AddItem ("M_IN_RANGE")
    .ListIndex = 1
    End With

    With ComboConvoleMode
    .AddItem ("M_SMOOTH")
    .AddItem ("M_SHARPEN")
    .AddItem ("M_SHARPEN2")
    .AddItem ("M_HORIZ_EDGE")
    .AddItem ("M_VERT_EDGE")
    .AddItem ("M_EDGE_DETECT")
    .AddItem ("M_EDGE_DETECT2")
    .AddItem ("M_LAPLACIAN_EDGE")
    .AddItem ("M_LAPLACIAN_EDGE2")
    .ListIndex = 1
    End With

    2.有一個表單功能是取得檔案路徑(並交給副程式載入)

    Private Sub MenuOpenImage_Click()

    On Error GoTo fileEnd
    CommonDialog.Filter = "圖片(*.mim)|*.mim|圖片(*.tiff)|*.tiff"
    CommonDialog.ShowOpen
    imagePath = CommonDialog.FileTitle
    OpenFile (imagePath)

    fileEnd: Exit Sub

    End Sub


    情況1:目前只要執行程式後,先隨便按過任意一個ComboBox,再去按表單载入圖片一切功能就會一切正常。

    情況2:如果程式一開始執行就直接去按表單載入圖片,接下來只要去按ComboBox就會發生程式視窗不能移動且不能停止程式,但是繼續操作程式各項功能卻沒有問題。如果此時自己設定的msgbox跳出,就會發生msgbox沒辦法點擊,程式固然無法使用必須使用管理員強制關閉。

    後來刪掉combobox從新加入一樣沒辦法解決。

    另外combobox用到的的只有以下情況

    Select Case ComboConvoleMode.Text
        Case "M_SMOOTH"
                Call MimConvolve(BufImageLoad.MilID, BufSonImage.MilID, M_SMOOTH)
        Case "M_SHARPEN"
                Call MimConvolve(BufImageLoad.MilID, BufSonImage.MilID, M_SHARPEN)
        Case "M_SHARPEN2"
                Call MimConvolve(BufImageLoad.MilID, BufSonImage.MilID, M_SHARPEN2)
        Case "M_HORIZ_EDGE"
                Call MimConvolve(BufImageLoad.MilID, BufSonImage.MilID, M_HORIZ_EDGE)
        Case "M_VERT_EDGE"
                Call MimConvolve(BufImageLoad.MilID, BufSonImage.MilID, M_VERT_EDGE)
        Case "M_EDGE_DETECT"
                Call MimConvolve(BufImageLoad.MilID, BufSonImage.MilID, M_EDGE_DETECT)
        Case "M_EDGE_DETECT2"
                Call MimConvolve(BufImageLoad.MilID, BufSonImage.MilID, M_EDGE_DETECT2)
        Case "M_LAPLACIAN_EDGE"
                Call MimConvolve(BufImageLoad.MilID, BufSonImage.MilID, M_LAPLACIAN_EDGE)
        Case "M_LAPLACIAN_EDGE2"
                Call MimConvolve(BufImageLoad.MilID, BufSonImage.MilID, M_LAPLACIAN_EDGE2)
    End Select

    剩下的都沒用到...請問該怎麼辦..

    2012年11月13日 下午 02:58

解答

所有回覆