Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Собственно как? Есть Frame, нужно в нижний правый угол клиентской области вывести лого из граф файла. И чтоб при ресайзе окна (главного фрейма) лого оставалось на месте.
Был давным-давно шаблон, который открывал безрамочное MDI окно внутри Frame с Resize FullSize.
Это нужно смотреть программы у которых внутри Frame выводятся поля и кнопки.
Может кто-то помнит его название и автора ?
вот шаблон в аттаче - окно выводит. но как сделать все остальное? (нужно в нижний правый угол клиентской области вывести лого из граф файла и чтоб при ресайзе окна (главного фрейма) лого оставалось на месте )
Вы всегда можете послать в окно Notify и заставить его изменить размер (в т.ч. и с условиями RESIZE).
Но дело в том, что если Вы окрыли развёрнутое MDI окно окно внури FRAME - оно и так изменит размер.
И Вы всегда можете обработать в окне событие DoResize (например что бы изменить размер картинки)
или выполнить:
ingasoftplus писал(а): 22 Май 2025, 13:40
вот шаблон в аттаче - окно выводит. но как сделать все остальное? (нужно в нижний правый угол клиентской области вывести лого из граф файла и чтоб при ресайзе окна (главного фрейма) лого оставалось на месте )
Сохранить в глобальных переменных номер потока, в котором запущено окно, а также высоту и ширину фрейма. Затем на фрейме по событию EVENT:Sized послать в этот поток пользовательское событие типа post(4004,,MySaveThread). А в окне по этому событию изменить PROP:Ypos и PROP:Xpos окна с учетом размеров фрейма и самого окна.
finsoftrz писал(а): 22 Май 2025, 14:14
Сохранить в глобальных переменных номер потока, в котором запущено окно, а также высоту и ширину фрейма. Затем на фрейме по событию EVENT:Sized послать в этот поток пользовательское событие типа post(4004,,MySaveThread). А в окне по этому событию изменить PROP:Ypos и PROP:Xpos окна с учетом размеров фрейма и самого окна.
отлично! номер потока уже есть в том шаблоне. Осталось разобраться с позиционированием окна. Т.е. наше окно надо переместить, но я думаю что нужно работать с Клиентской областью Фрейма. есть примеры?
Да ничего там специфического не надо, только изменить prop:xPos и prop:yPos у окна. А они, соответственно, вычисляются как ширина фрейма минус ширина окна, высота фрейма минус высота окна, если просто в нижнем правом углу.
может всё проще - нарисовать картинку во весь фрейм с лого в правом нижнем углу подходящего качества и штатным полем wallpaper вывести + Stretched чтобы при изменении размера пересчитывал сам?
Последний раз редактировалось Ал 22 Май 2025, 15:11, всего редактировалось 1 раз.
Ал писал(а): 22 Май 2025, 15:02
может всё проще - нарисовать картинку во весь фрейм с лого в правом нижнем углу подходящего качества и штатным полем вывести + Stretched?
Ал писал(а): 22 Май 2025, 15:02
может всё проще - нарисовать картинку во весь фрейм с лого в правом нижнем углу подходящего качества и штатным полем вывести + Stretched?