Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Установка точного размера клиентской области окна

19.06.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter
Очередная тривиальная задача с нетривиальным решением и очередной пламенный привет разработчикам Windows. Начнем с задачи. Надо изменить размер окна таким образом, чтобы его клиентская область, то есть внутреннее содержимое без учета заголовка, рамок и полос прокрутки, стала четко заданной ширины и высоты. Создатели Windows, безусловно, позаботились о программистах, для решения этой задачи есть как минимум две функции - SetWindowPos и MoveWindow, все хорошо и замечательно, но... Как метко подметили в одном телесериале, все, что сказано до слова "но" - чушь собачья. Эти функции действительно выполняют свое предназначение, меняют размер окна, только применяют переданные им значения к внешней границе окна. При этом не учитываются ни визуальные темы, ни стили окна, ни наличие полос прокрутки, ни толщина рамки, короче, решения поставленной задачи "в лоб" дадут гарантированно неправильный результат.


Размеры областей окна

К счастью, в Windows имеется вспомогательная функция AdjustWindowRectEx, которая используется как раз для подобных ситуаций. Он вычисляет фактические размеры окна, которые соответствуют заданным размерам его клиентской области. И вот здесь как раз учитываются стили, в том числе и расширенные, наличие у окна строки меню и установленная визуальная тема, но... Да-да, очередное "но". При расчете размеров никак не учитывается наличие в окне полос вертикальной и/или горизонтальной прокрутки. Они могут входить в размер клиентской области, а могут и не входить, в зависимости от задачи.

Читать статью целиком »
Просмотров: 300 | Комментариев: 2

Выставка "Давай играть, как раньше"

17.06.2022 | Категория: Жизнь в оффлайне | Автор: ManHunter

Выставка "Давай играть, как раньше"

Выставка "Давай играть, как раньше" предлагает всем взрослым вспомнить о том, что они тоже когда-то были детьми, рассказать детям и внукам о своем детстве и показать им, что было в игрушечном арсенале их пап и мам, бабушек и дедушек. Куклы, грузовики, железная дорога, миниатюрные швейные машинки и экзотические животные... Лучшие художники и инженеры страны работали над тем, чтобы наши дети развивались правильно.

Читать статью целиком »
Просмотров: 170 | Комментариев: 1

Исследование защиты программы Maze Creator

14.06.2022 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы Maze Creator

Maze Creator - программа для генерации лабиринтов. Отличное решение извечной детской проблемы "Папа, мне скучно!!!". Если кому-то обычные лабиринты покажутся слишком простыми, то Maze Creator умеет делать гексагональные, круглые, треугольные, октагональные и смешанные лабиринты. Причем генерить их можно в любых количествах, каждый раз они будут создаваться заново. Готовый лабиринт можно украсить картинками и текстовыми элементами. Для отчаявшихся можно сохранить файл с прохождением лабиринта. Но есть одно "НО". Точнее не одно, а 70 "НО" за стандартную версию и 400 - за профессиональную.

Читать статью целиком »
Просмотров: 504 | Комментариев: 2

Монитор курса валют ВТБ 1.1

10.06.2022 | Категория: Мои программы | Автор: ManHunter

Скриншот программы Монитор курса валют ВТБ

Маленькие программки для мониторинга курса валют банка ВТБ, Центробанка России и Московской биржи. Позволяют оперативно отследить комфортный курс покупки или продажи долларов и евро, в результате чего можно немного сэкономить при покупке или получить максимум при продаже безналичной валюты. Программы написаны для личных нужд, но может быть пригодятся кому-нибудь еще.

Читать статью целиком »
Просмотров: 705 | Комментариев: 7

Генератор XorShift128 на Ассемблере

09.06.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter

Генератор XorShift128 на Ассемблере

Генератор случайных чисел XorShift128 напоминает уже известное вам семейство генераторов xoshiro128. Из названия понятно, что тут используются только команда XOR и сдвиговые команды SHL/SHR, а период равняется 2128-1. В алгоритме отсутствуют операции деления и умножения, поэтому его можно использовать в тех микроконтроллерах, где таких ассемблерных операций нет в принципе. Также генератор XorShift является одними из самых быстрых генераторов случайных чисел.

Читать статью целиком »
Просмотров: 258 | Комментариев: 0

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2022
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.09 сек. / MySQL: 2 (0.0249 сек.) / Память: 5 Mb
Наверх