Войти

Показать полную графическую версию : GUI, у Label не работает прокрутка


RUVATA
17-02-2012, 12:52
Всем доброго времени суток...
Я ни как не могу понять почему у меня не работает вертикальная прокрутка в элементе Label
Я потратил уже неприлично много времени на решение этой проблемы, прошу помощи у коллективного разума...

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>

$Form1 = GUICreate("Form1", 634, 127, 192, 371)
$Start = GUICtrlCreateButton("Начать", 16, 8, 129, 41)
$LowLevelStat = GUICtrlCreateLabel("0%", 16, 64, 610, 49, BitOR($SS_CENTER,$SS_CENTERIMAGE,$WS_BORDER))
$DynamicStat = GUICtrlCreateLabel("", 16, 63, 12, 49, BitOR($SS_CENTER,$SS_CENTERIMAGE,$WS_BORDER))
GUICtrlSetBkColor(-1, 0x4395D1)
$Console = GUICtrlCreateLabel("...", 152, 8, 470, 42, BitOR($SS_SUNKEN,$WS_VSCROLL))
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0x000000)
GUISetState(@SW_SHOW)

GUICtrlSetState($DynamicStat, $GUI_HIDE)
GUICtrlSetData($Console, "111111111111" & @CRLF & "1111111111" & @CRLF & "111111111111" & @CRLF & "111111111111" & @CRLF & "1111111111111" & @CRLF & "1111111111111111111" & @CRLF & "11111111111111111" & @CRLF & "111111111111")

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd


Скрол отображается но ни хрена не прокручивает.

PS: Если важно AutoIt v3.3.6.1 Windows 7 Pro (x86)

Kzer-Za
24-02-2012, 13:10
Насколько я в курсе, к элементу Label скроллинг вообще прикрутить нельзя. Может, просто сделать вместо этого элемент Edit с параметром $ES_READONLY?

Т.е. вместо

$Console = GUICtrlCreateLabel("...", 152, 8, 470, 42, BitOR($SS_SUNKEN,$WS_VSCROLL))

сделать

$Console = GUICtrlCreateEdit("...", 152, 8, 470, 45, BitOR($SS_SUNKEN, $WS_VSCROLL, $ES_READONLY))


Правда, минус этого решения в том, что вертикальный размер элемента придется на три пикселя увеличить, иначе помещаются только две строки.




© OSzone.net 2001-2012