Что нового

Вертикальное выравнивание Label

BaRsupillamy

Новичок
Сообщения
58
Репутация
0
А может для индивидуального случая подойдёт выравнивание с помощью переноса строки?
не стоит, пусть будет как есть :smile: просто хотел красиво...

ваш вариант не совсем то, что надо... суть я понял, спасибо, буду знать о такой возможности... но пользователь может спокойно спрятать окно и работать дальше... а тут хотели, чтобы продолжать работу было нельзя без закрытия окна... т.е. пользователь должен прочитать и нажать... я понимаю, что в итоге они могут начать, не читая, пальцем проводить по всем цифрам :smile: т.е. учесть все глупости и ухищрения пользователя никогда нельзя... хотел сделать, чтобы после нажатия не той клавиши, что надо, фон окна становился красным и вообще всё блокировалось на 5 секунд... но спешил показать своё творение и не сделал :smile: как будет свободное время, может и займусь...
 

Krokodile

Новичок
Сообщения
43
Репутация
1
Подскажите как центрировать текст внутри поля label, как по вертикали, так и по горизонтали.
Код:
#include <GUIConstants.au3>

Opt("GUICoordMode", 1)
GUICreate("Radio Box Demo", 400,280)

GUICtrlCreateGroup ("Количество нажатий",10,10,300,300)

GUISetFont (92,650,'SS_CENTER ','$SS_CENTERIMAGE')
$label1=GUICtrlCreateLabel ("1",15,25,270,250,'SS_CENTER ','$SS_CENTERIMAGE')


GUISetState ()
While 1
   $msg = GUIGetMsg()
   if $msg = $GUI_EVENT_CLOSE then Exit
WEnd

И еще вопрос.. Этой первый ГУИ, насчет последних строк - может есть другой, более разумный способ удержания окна(чтоб оно не закрывалось сразу после запуска).
 

Hiki

Новичок
Сообщения
27
Репутация
1
Я смотрю с 2012 года вопрос не решен? А мне сейчас как раз очень надо.
Все примеры из темы перепробовал, мне не подходят, у меня текст вставляется в Label динамически через GUICtrlSetData, и конечно же он разной длины.
Пробовал заменить Label на что-то другое, ничего подходящего не нашел, Edit тоже не центрирует, только кнопка центрирует и по вертикали и по горизонтали, но мне надо размер примерно 300*300, а такая кнопка выглядит не эстетично.
Неужели во Autoit нельзя решить такую простую задачу как центрирование по вертикали многострочного текста?
Помогите плиз!
 

SharkyEXE

Новичок
Сообщения
134
Репутация
0
Здравствуйте

Прошу помощи

В интернете нашел готовый пример


#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>

#include <StringSize.au3>

Dim $w = 450
Dim $h = 450

; Get size of label required for the text
$aLabelInfo = _StringSize("Line 1..." &@CRLF& "Line 2..." &@CRLF& "Line 3...")

GUICreate("", $w, $h)

; Calculate the required position of the label
$iLabel_X = Int(($w - $aLabelInfo[2]) / 2)
$iLabel_Y = Int(($h - $aLabelInfo[3]) / 2)
GUICtrlCreateLabel("Line 1..." &@CRLF& "Line 2..." &@CRLF& "Line 3...", $iLabel_X, $iLabel_Y, $aLabelInfo[2], $aLabelInfo[3], $SS_CENTER)

GUISetState()

While 1
Dim $msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd

Который отлично работает для текста, который указан внутри кода
"Line 1..." &@CRLF& "Line 2..." &@CRLF& "Line 3..."

У меня же другой текст
"Выполняется настройка." &@CRLF& "Пожалуйста, подождите..." &@CRLF& ""

И дополнительно прикрутить другой размер шрифта
$font = ""
GUISetFont(17, 400, -1, $font)

И у меня такие параметры окна (выделено жирным)
$GUI=GUICreate("", 260, 15, -1, -1, BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))

Пожалуйста, помогите, как это сделать

Спасибо.
 
Последнее редактирование:
Верх