#312 イメージ上でマウスを指差しポインタに変える方法 フォーム、VBA

ScreenオブジェクトのMousePointerプロパティを設定することによって、マウスのポインタの形状をVBAから変更することができます。しかし、このプロパティには次の5つのポインタしか指定することができません。
  1. 矢印
  2. I 字型
  3. 上下に拡大/縮小
  4. 左右に拡大/縮小
  5. 砂時計
ホームページなどのリンクで使われる指差し形状のポインタはMousePointerプロパティでは設定できませんので、次のような方法で対処します。

それには、そのコントロールの「ハイパーリンクサブアドレス」プロパティに適当な値を設定します。
プロパティシート


ここでは、その指定先が「ハイパーリンクアドレス」プロパティではない点に注意してください。

ハイパーリンク先を設定しているので、当然どちらのプロパティに設定しても、クリックするとエラーが発生します。
ハイパーリンクのエラーメッセージ

しかし、「ハイパーリンクサブアドレス」の方はこのエラーをトラップすることができますが、「ハイパーリンクアドレス」の方はトラップすることができません。


そのエラーをトラップする方法ですが、フォームの「エラー時イベント」を利用します。エラー時イベントプロシージャを次のように記述することで、無効なハイパーリンクサブアドレスの設定を無視させることができます。
Private Sub Form_Error(DataErr As Integer, Response As Integer)
'フォームのエラー時
  
  If DataErr = 7971 Then
    Response = acDataErrContinue
  End If

End Sub

通常のマウスポインタ
通常のマウスポインタ

イメージコントロール上に移動したときのマウスポインタ
イメージコントロール上で指差し形状になっている

※この方法は、ラベルコントロールやテキストボックスコントロールなどにも適用できます
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved