0

出力ウィンドウで RTL 指向のアラビア語テキストを出力したいと考えています。この出力ウィンドウは、一度に 1 つのスニペットで、履歴のスクロール ウィンドウとして機能します。MsgBox には RTL パラメーターがありますが、スクロール機能の処理に関しては使いにくいです。スクロール機能は、マウスの中央ボタンをスクロールするだけで機能するはずなので、50 の履歴スニペットを 1 つずつすばやくスクロールできます。

4

1 に答える 1

0

この例を見てください:

myPid := DllCall("GetCurrentProcessId")
wordList := "Lorem ipsum dolor sit amet consetetur"
StringSplit, wordList, wordList, %A_SPACE%
counter := 0
myMsgBox := -1

F9::
    myMsgBox := WinExist("ahk_pid " myPid " ahk_class #32770")
    if(counter + 1 > wordList0) {
        ControlSetText, Static1, DONE
        return
    }
    counter++
    if(!myMsgBox) {
        SetTimer, MakeMyMsgBox, -1
    } else {
        ControlSetText, Static1, % wordList%counter%
    }
return

MakeMyMsgBox:
    MsgBox, 1048576, RTL Test, % wordList%counter%
return

顕著な点は、 を使用しSetTimerて を生成しMsgBox、待機中の MsgBox ウィンドウが存在する場合でも、ホットキー ルーチンを再度実行できるようにすることです。古い MsgBox を閉じて毎回新しいものを作成する代わりに、既存のものをControlSetText.

于 2013-08-13T15:30:07.537 に答える