SplashTextOn
创建自定义文本弹出窗口.
SplashTextOn ( "title", "text" [, w = 500 [, h = 400 [, x pos [, y pos [, opt = 0 [, "fontname" [, fontsz = 12 [, fontwt]]]]]]]] )
参数
title
|
闪屏(splash)窗口标题.
|
text
|
闪屏(splash)窗口文本.
|
w
|
[可选] 窗口宽度(象素, 默认 500)
|
h
|
[可选] 窗口高度(象素, 默认 400)
|
x pos
|
[可选] 窗口左侧位置(象素, 默认居中对齐)
|
y pos
|
[可选] 窗口上方位置(象素, 默认居中对齐)
|
opt
|
[可选] 加所需属性. 默认属性"居中对齐/窗口置顶/带标题"
$DLG_CENTERONTOP (0) = 居中对齐/窗口置顶/带标题(默认)
$DLG_NOTITLE (1) = 细边框,无标题
$DLG_NOTONTOP (2) = 取消"窗口置顶"属性
$DLG_TEXTLEFT (4) = 文本左对齐
$DLG_TEXTRIGHT (8) = 文本右对齐
$DLG_MOVEABLE (16) = 窗口可移动
$DLG_TEXTVCENTER (32) = 文本垂直居中
常量定义在 AutoItConstants.au3
|
fontname
|
[可选] 文本的字体名称. (若设为 "" 或指定字体未发现, 则使用系统默认 GUI 字体)
|
fontsz
|
[可选] 字体大小. 默认 12
标准尺寸为 6 8 9 10 11 12 14 16 18 20 22 24 26 28 36 48 72
|
fontwt
|
[可选] 字体粗细范围在 0 到 1000, 例如, 400 是正常粗细, 700 是加粗. 如果值为 0 则使用默认的粗细.
可使用下面的定义值.
$FW_DONTCARE (0) (使用默认的字体粗细)
$FW_THIN (100)
$FW_EXTRALIGHT (200)
$FW_LIGHT (300)
$FW_NORMAL (400)
$FW_MEDIUM (500)
$FW_SEMIBOLD (600)
$FW_BOLD (700)
$FW_EXTRABOLD (800)
$FW_HEAVY (900)
常量定义在 FontConstants.au3
|
返回值
返回闪屏(splash)窗口句柄. 可用于 ControlSetText() 函数.
备注
要跳过可选参数使其为默认值, 可使用:
字符串类型参数设置为 ""
数字类型参数设置为 -1
同一时刻只允许一个闪屏(Splash)图片/文字窗口; 要循环多重图片/文字,
需再次调用 SplashImageOn()/SplashTextOn, 并设置相应参数.
更好的方法是使用 ControlSetText() 函数更新文本, 那样就不会有闪烁问题...
如果文本为多行和居中, ControlSetText() 不会覆盖本函数创建的行数.
设置闪屏(Splash)参数"选项" = 1, 则窗口将不能被移动和点击激活.
标准字体名称包括:
Arial, Comic Sans MS, Courier New,
Lucida Console, Microsoft Sans Serif,
System, Tahoma, Times New Roman, 与 WingDings
见附录中 Windows 字体的完整列表.
使用 @LF 可以实现多行显示.
函数示例
#include <AutoItConstants.au3>
SplashTextOn("Title", "Message goes here.", -1, -1, -1, -1, $DLG_TEXTLEFT, "", 24)
Sleep(3000)
SplashOff()
; ; FLICKER
Local $sMessage = ""
SplashTextOn("TitleFoo", $sMessage, -1, -1, -1, -1, $DLG_TEXTLEFT, "")
For $i = 1 To 20
$sMessage = $sMessage & $i & @CRLF
SplashTextOn("TitleFoo", $sMessage, -1, -1, -1, -1, $DLG_TEXTLEFT, "")
Sleep(100)
Next
; ; SMOOTH
$sMessage = ""
SplashTextOn("TitleFoo", $sMessage, -1, -1, -1, -1, $DLG_TEXTLEFT, "")
For $i = 1 To 20
$sMessage = $sMessage & $i & @CRLF
ControlSetText("TitleFoo", "", "Static1", $sMessage)
Sleep(100)
Next
----------------------------------------
该函数可以通过命令调用 exect
参见:
SplashOff, ToolTip, MsgBox
SplashTextOn('Заголовок','Сообщения~~появляются~~здесь.', -1,-1,-1,-1,4,)
Sleep(3000)
SplashOff()
exect=SplashTextOn('Заголовок','Моё~~Сообщение...',200,50)&Sleep(3000)&SplashOff() ;; 具有文本的窗口的示例
exect=$var_ii=##[input=BOX68]||$var_im=$var_ii&'n' pause=$var_im sndps=1 exect=SplashTextOn('Напоминаю','Прошло~~$var_ii~~минут(ы)',200,50)&Sleep(10000)&SplashOff() ;; 在指定的分钟后发出消息(号码在对话框中输入)
© Аверин Андрей для Total Commander Image Averin-And@yandex.ru
|