SplashTextOn

首页  后退  前进

SplashTextOn
down2

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

例子
copy
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() ;; 在指定的分钟后发出消息(号码在对话框中输入)

up2

tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru