即効テクニック |
●概要● フォーム上のコントロールに、ツールチップを追加・変更する関数を作成します。 ツールチップを表示するためには、コントロールのControlTipTextを使用します。 ●サンプルコード● 汎用関数ですので、標準プロシージャに以下のコードを記述して下さい。 '【引数説明】 'FromName :ツールチップを追加するコントロールの親フォーム名 'CtlName :ツールチップを追加するコントロール名 'TipText :追加するツールチップの本文 Public Function AddToolTip(FormName As String, _ CtlName As String, _ TipText As String) On Error GoTo Func_Err: Dim Frm As Form 'フォームオブジェクト Dim Ctl As Control 'コントロールオブジェクト 'フォームとコントロールオブジェクトの取得 Set Frm = Forms(FormName) Set Ctl = Frm.Controls(CtlName) 'コントロールにツールチップを設定 Ctl.ControlTipText = TipText '終了処理 Func_Exit: Set Ctl = Nothing Set Frm = Nothing Exit Function 'エラートラップ Func_Err: MsgBox "Error Number : " & Err.Number & vbCrLf & Err.Description GoTo Func_Exit: End Function ●動作確認● 新規フォーム[フォーム1]を作成し、コマンドボタン[Command1]を配置します。 そしてフォームのコマンドボタンクリック時イベントに、以下のプロシージャを記述します。 'プロシージャレベルの変数宣言 Dim intClickCount Private Sub Command1_Click() Me.Command1.ControlTipText = "コマンドボタンが" & intClickCount & _ "回" & vbCrLf & "クリックされました" intClickCount = intClickCount + 1 End Sub これで、コマンドボタンを押した回数がツールチップとして表示されるようになります。 また、上記のようにツールチップ内に改行を含めることも可能です。 この関数を応用すれば、データの有無や状態、フォームの各プロパティの状態などによって、動的にツールチップを変化させることが出来ます。