ホットトラッキング          <TOP>


マウスの位置に対する反応を有効・無効に設定します。

SystemParametersInfo システム全体に関するパラメータを取得・設定

SPI_SETHOTTRACKING(&H100F) ホットトラッキング
SPIF_UPDATEINIFILE(&H1) ユーザープロファイルの更新を指定
 

例では、マウスがメニュー項目上にあるかどうかの監視を有効・無効に設定しています。

 

'================================================================
'= ホットトラッキング
'=    (HotTracking.bas)
'================================================================
#include "Windows.bi"

#define SPI_SETHOTTRACKING &H100F       'ホットトラッキング
#define SPIF_UPDATEINIFILE &H1          'ユーザープロファイルの更新を指定
#define SPIF_SENDWININICHANGE &H2
#define SPIF_SENDCHANGE SPIF_SENDWININICHANGE

' システム全体に関するパラメータを取得・設定
Declare Function Api_SystemParametersInfo& Lib "user32" Alias "SystemParametersInfoA" (ByVal uiAction&, ByVal uiParam&, pvParam As Any, ByVal fWinIni&)

Var Shared Radio1 As Object
Var Shared Radio2 As Object
Var Shared Button1 As Object

Radio1.Attach GetDlgItem("Radio1") : Radio1.SetFontSize 14
Radio2.Attach GetDlgItem("Radio2") : Radio2.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Function Flg bdecl () As Integer
Function Flg()
    Flg = Val(Mid$(GetDlgRadioSelect("Radio1"), 6)) - 1
End Function

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var HotTracking As Long
    Var Ret As Long

    'メニューバーなどのホットトラッキングの有効無効を指定
    HotTracking = Flg

    'メニューバーなどのホットトラッキングの有効無効を設定
    Ret = Api_SystemParametersInfo(SPI_SETHOTTRACKING, 0, ByVal HotTracking, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End