Visual Basic Tips(コントロール)


Form:コントロールボックスで閉じない様にする

'QueryUnloadイベントでCancel引数をTrueに設定
Private Sub Form_QueryUnload(Cancel As Integer,UnloadMode As Integer)
    If UnloadMode = vbFormControlMenu Then
        Cancel = True
    End If
End Sub

Form:プロパティを追加する

'プロパティの簡単な定義方法は、モジュールにパブリック変数を追加することです
Public DataFlag As Boolean
(Visual Basicでは、バックグラウンドで、クラス モジュールのパブリック変数を
 プロパティ プロシージャのペアとしてインプリメントされる為、MSではあまり
 推奨してはいない様です)

'配列の様なプロパティを定義したい場合はプロパティ プロシージャを用いる。

Private mArrData(10) As Integer
'上の配列の値を外から取得する為のプロパティ
Public Property Get GetArrData(ByVal intInx As Integer) As Integer
    GetArrData = mArrData(intInx)
End Property

'上の配列に値を外から設定する為のプロパティ
Public Property Let LetArrData(ByVal intInx As Integer, ByVal intData As Integer)
    mArrData(intInx) = intData 
End Property

TextBox:文字列を全て選択状態にする

'仮にテキストボックスのコントロール名をTextBox1とする
With TextBox1
    .SelStart = 0
    .SelLength = Len(.Text)
End With

TextBox:バイト数入力制限を行う

Public Sub TextBox1_KeyPress(KeyAscii As Integer)
    Dim Kanji As Integer

    Select Case KeyAscii
        Case vbKeyBack
        Case vbKeyReturn
            KeyAscii = 0
        Case Else
            '2 バイト文字の場合は 1 加えて計算します
            If KeyAscii < 0 Then
                Kanji = 1
            End If
            '入力後の文字数が既定値を超える場合は取り消します
            If LenB(StrConv(TextBox1.Text, vbFromUnicode)) _
                 - TextBox1.SelLength + Kanji >= TextBox1.MaxLengthThen
                Beep
                KeyAscii = 0
            End If
    End Select
End Sub

CommandButton:ショートカットキーの設定

CommandButton1.Caption = "ボタン(&B)"
'キャプションに"&"+英数字で実行時にAlt+ 英数字でボタンクリック時と同様

ComboBox:ドロップダウンリストの場合の非選択設定

ComboBox1.ListIndex = -1

ページのトップへ戻る