Что нового

Вывод двухстрочных дробей в GUI с помощью Label.

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Есть ли возможность используя только один Label отобразить в нем двухстрочную формулу? Пример формулы на картинке.
Использование двух Label не предлагать, это крайний случай :smile:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Belfigor
А картинкой вставить не пойдёт?
Код:
GUICtrlCreatePic
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Я думаю тебе придется все-таки прибегнуть к крайнему случаю.

:smile:
 
Автор
Belfigor

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Garrett сказал(а):
Belfigor
А картинкой вставить не пойдёт?
Код:
GUICtrlCreatePic
Картинкой увы не пойдет потому что формула должна динамически изменяться исходя из вводимых значений.


Добавлено:
Сообщение автоматически объединено:

Yashied сказал(а):
Я думаю тебе придется все-таки прибегнуть к крайнему случаю.

:smile:
Да, вероятнее всего :(
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
Код:
GUICreate('Простые дроби',100, 60)
$_1 = '&N____'
$_2 = 'R x bn'
GUICtrlCreateLabel($_1 & @CRLF & $_2, 5, 10, 60, 50)
GUISetState()

While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = -3
			Exit
	EndSelect
WEnd
 

AZJIO

Меценат
Меценат
Сообщения
2,892
Репутация
1,196
Применил подчёркивание текста, и урезал высоту, чтоб у нижней сроки подчёркивания не было видно.

Код:
GUICreate('',100, 60)
$_1 = 'N*Lm'
$_2 = 'Rb x bh0'
GUICtrlCreateLabel($_1 & @CRLF & $_2, 5, 10, 60, 26)
GUICtrlSetFont (-1,-1, 400, 4)
GUISetState()

While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = -3
            Exit
    EndSelect
WEnd
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Belfigor сказал(а):
Картинкой увы не пойдет потому что формула должна динамически изменяться исходя из вводимых значений.
Ну, тогда осмелюсь предложить что-то типа Font Creator Program, и возить собственный шрифт вместе с программой, в ресурсах. ;)
Думаю, в этом варианте есть много плюсов, и первый из них это независимость при модернизации программы! Можно будет добавлять новые формулы в собственный шрифт. :smile:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Вот что-то в этом духе:
Код:
GUICreate("",100, 50)
$_1 = "a"
GUICtrlCreateLabel($_1, 39, 10, 60,50)
GUICtrlSetFont(-1,-1, 400, 0, "Formula")
GUISetState()

While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = -3
            Exit
    EndSelect
WEnd


Для того чтобы всё это работало, нужен шрифт, который вам предстоит написать самому :smile:

Для этого примера я пользовался редактором шрифтов Fony (не даю ссылку офф. сайта, так как поддержки и новых версий, похоже, уже нет) инсталляции он не требует!
Редактор прост и имеет поддержку Русского языка (кстати, можно обратить внимание на .lng файлы в \Data\Language это недавно обсуждалось на форуме)

Я не специалист по написанию шрифтов и потому меня хватило пока только на один глиф!

Примечание:
Шрифт для примера я приложил (см. внизу)
Файл не архив, просто уберите .zip из названия файла.
Установка шрифта в Windows стандартная:
C:\WINDOWS\Fonts
Файл -> Установить шрифт


Однако полагаю, что устанавливать и удалять шрифт можно будет и программно.
Это же Autoit! ;D
 
Верх