
Быстрый поиск
Введите фрагмент названия статьи для поиска
Тюнингуем контрол msctls_trackbar32
28.04.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter
За время существования этого сайта тут было доработано уже несколько различных стандартных элементов управления, настало время провести тюнинг контрола msctls_trackbar32. Создается он обычным образом, например, через прописывание в ресурсах. Обязательно надо добавить в импорт библиотеку comctl32.dll и вызвать функцию InitCommonControls. Ну а поскольку мы будем добавлять к контролу различные нестандартные функции, то и делать это будем в специально отведенной процедуре-обработчике. Для этого воспользуемся субклассированием. Действия стандартные, примеров субклассирования на этом сайте предостаточно.Code (Assembler) : Убрать нумерацию
- ; Настройки ползунка
- invoke GetDlgItem,[hwnddlg],IDC_PROGRESS
- mov [track],eax
- ; Установить наш собственный обработчик
- invoke SetWindowLong,[track],GWL_WNDPROC,TrackProc
- ; Сохранить хэндл предыдущего обработчика
- invoke SetWindowLong,[track],GWL_USERDATA,eax
Читать статью целиком »
Просмотров: 633 | Комментариев: 2
Как узнать кодировку текста
19.04.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter

Как узнать кодировку текста
Для корректного отображения или передачи текстов надо знать, в какой кодировке этот текст записан. Есть инструменты для статистического анализа в виде внешних dll или библиотек на различных языках программирования. А я в этой статье расскажу, как можно решить подобную задачу с использованием системного интерфейса IMultiLanguage2. Насколько мне известно, этот интерфейс создавался для использования в браузере Internet Explorer, в том числе с целью определения кодировок web-страниц.
Читать статью целиком »
Просмотров: 875 | Комментариев: 2
Мультимедийный плеер на Ассемблере
14.04.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter

Мультимедийный плеер на Ассемблере
Сегодня будем программировать нечто действительно интересное, а именно универсальный мультимедийный плеер. Универсальность реализуется мощью функционала DirectShow, а также установленными в системе аудио- и видеокодеками. И пусть это не полноценное приложение, большинство основных функций плеера в нем будут реализованы.
Читать статью целиком »
Просмотров: 1046 | Комментариев: 8
Как узнать окно-владельца буфера обмена
08.04.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter

Как узнать окно-владельца буфера обмена
Если какое-то приложение открыло буфер обмена при помощи функции OpenClipboard, то до момента вызова функции CloseClipboard буфер обмена будет недоступен для других приложений. Обычно такого не происходит, работа с буфером сводится к последовательному открытию, получению или записи данных и закрытию, но от случайных сбоев никто не застрахован. Если ваше приложение также активно работает с буфером обмена, то будет полезным уметь обрабатывать такие ситуации и уведомлять пользователя, что в какой-то сторонней программе что-то пошло не так.
Читать статью целиком »
Просмотров: 646 | Комментариев: 0
Конвертирование изображений с помощью библиотеки FreeImage
18.03.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter

Конвертирование изображений с помощью библиотеки FreeImage
FreeImage - бесплатная библиотека с открытым исходным кодом, предназначенная для работы с изображениями. С ее помощью можно менять размеры изображений, накладывать на них различные эффекты, поворачивать, обрезать, а главное, библиотека FreeImage умеет загружать изображения разных форматов и затем конвертировать их в другие. При этом не требуется установка каких-нибудь кодеков. За удобство пользования приходится платить тем, что размер вашего приложения увеличивается как минимум на 2 мегабайта, и то если упаковать dll. Для Ассемблера это много, для современных приложений, наверное, нормально.
Читать статью целиком »
Просмотров: 959 | Комментариев: 9


