<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Вывести текст поверх экрана]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17113&amp;type=atom" />
	<updated>2022-05-09T21:18:15Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17113</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Вывести текст поверх экрана]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153152#p153152" />
			<content type="html"><![CDATA[<p>Спасибо <strong>teadrinker</strong> за решение!<br />Сделано лучше, чем я ожидал <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Paket236]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42519</uri>
			</author>
			<updated>2022-05-09T21:18:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153152#p153152</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Вывести текст поверх экрана]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153148#p153148" />
			<content type="html"><![CDATA[<p>Готов взяться, пишите мне в Телеграм (в подписи), завтра можем связаться.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-05-08T22:50:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153148#p153148</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Вывести текст поверх экрана]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153147#p153147" />
			<content type="html"><![CDATA[<p>Добрый день!<br />Мне нужно решить одну задачу, но ввиду её объёмности я готов хорошо заплатить за решение.</p><p>Имеется следующее техническое задание.<br />Нужно написать AHK-скрипт, который периодически (каждые 100 мсек) считывает текстовое содержимое рядом лежащего txt-файла (содержимое которого постоянно меняется извне) с заданым именем и выводит поверх экрана (поверх DirectX-игры) в заданном прямоугольнике. Вроде просто, но теперь детали:<br />* Текст в txt-файле планируется хранить в UTF-8 формате, поэтому он должен выводиться на экран корректно. В теории, можно хранить и в UTF-16, чтобы избежать возможных проблем в AHK, но это вариант на случай, если с UTF-8 у исполнителя возникнут сложности.<br />* Необходимо явно задать шрифт и размер шрифта текста (я должен видеть, где это можно изменить). Желательно, чтобы размер шрифта брался из переменной (т.к. в дальнейшем планируется, что он будет зависеть от разрешения экрана).<br />* Выравнивние текста - по левому краю.<br />* Цвет текста - красный (желательно задать в формате RGB, чтобы я мог легко изменить).<br />* Фон текста (позади букв) - прозрачный.<br />* Сам текст - на 50% прозрачный. Должна иметься возможность регулировать степень прозрачности через переменную.<br />* Отступы для текста(прямоугольника) относительно экрана: 30% слева, 5% сверху, 30% справа, 70% снизу. Должна иметься возможность легко поменять положение и размер прямоугольника, в котором находится текст, изменив 4 значения отступа.<br />* Если текст не помещается по горизонтали, он переносится на новую строку.<br />* Если текст не помещается по вертикали, он уходит вверх и как бы обрезается сверху, т.е. выводится только последняя часть текста (это важный пункт, т.к. текст часто будет не влезать по вертикали!).<br />* Желательно, чтобы выводимый текст не мешал взаимодействию с элементами игры, поверх которой он будет выводиться (с этим могут возникнуть сложности, поэтому опционально).<br />* Желательно оставлять комментарии в коде в ключевых местах, чтобы я мог разобраться, что и как работает.</p><p>Если какие-то пункты сложны в реализации, я готов рассмотреть вариант без них.</p><p>Вот то, что я наваял за час из разных кусков, чтобы показать минимальный пример, как это должно выглядеть (но тут мало что реализовано из вышеперечисленного):<br /></p><div class="codebox"><pre><code>#SingleInstance force

X := A_ScreenWidth
Y := A_ScreenHeight

formattime, dait, M/d/yyyy h:mm:ss tt

Gui 1: +LastFound +AlwaysOnTop +ToolWindow -Caption
Gui 1: Color, 19ff19
WinSet, TransColor, 19ff19 500
Gui 1: Font, S10 cRed Q4, Arial Bold
Gui 1: add, text, vDayt w%X% h%Y% Center, % dait
Gui 1: show, , My GUI
SetTimer, Update, 100
return

Update:
FileRead, OutputVar, 1.txt
GuiControl,, Dayt, %OutputVar%
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Paket236]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42519</uri>
			</author>
			<updated>2022-05-08T22:27:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153147#p153147</id>
		</entry>
</feed>
