ナビゲーションインジケータの有効無効を指定          <TOP>


SystemParametersInfo システム全体に関するパラメータを取得・設定
SPI_SETKEYBOARDCUES(&H100B) メニューアクセスキー文字の下線の設定
SPIF_SENDWININICHANGE(&H2) 全てのアプリケーションに通知して更新
SPIF_UPDATEINIFILE(&H1) ユーザープロファイルの更新を指定
 

アンダーバーが表示される→ファイル(F)

Altを押したときアンダーバーが表示される→ファイル(F)

 

'================================================================
'= ナビゲーションインジケータの有効無効を指定
'=    (SPI_SETKEYBOARDCUES.bas)
'================================================================
#include "Windows.bi"

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

#define SPI_SETKEYBOARDCUES &H100B      '
#define SPIF_SENDWININICHANGE &H2       '全てのアプリケーションに通知して更新
#define SPIF_UPDATEINIFILE &H1          'ユーザープロファイルの更新を指定

Var Shared Combo1 As Object
Var Shared Button1 As Object

Combo1.Attach GetDlgItem("Combo1") : Combo1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Combo1.AddString "Altを押さない時は非表示"
    Combo1.AddString "常に表示"
End Sub

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

    'ナビゲーションインジケータの有効無効を指定
    Underline = Combo1.GetCursel

    'ナビゲーションインジケータを設定
    lngWin32apiResultCode = Api_SystemParametersInfo(SPI_SETKEYBOARDCUES, 0, ByVal Underline, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE)
End Sub

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