我想输出阿拉伯语文本,它在输出窗口上面向 RTL。此输出窗口将用作您的历史记录的滚动窗口,一次一个片段。MsgBox 有 RTL 参数,但在处理滚动功能时不友好。滚动功能应该只通过滚动鼠标中键来工作,因此您可以快速滚动浏览 50 个历史片段,一个一个。
问问题
120 次
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 回答