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

День города Санкт-Петербурга 2009
01.06.2009 | Категория: Жизнь в оффлайне | Автор: ManHunter

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

Пересборка инсталлятора Punto Switcher
30.05.2009 | Категория: Темная сторона Силы | Автор: ManHunter

Установка Punto Switcher
Программа Punto Switcher - это автоматический переключатель русской и английской раскладок клавиатуры. Когда вы забываете переключить раскладку с русской на английскую и наоборот, то вместо "Windows" получается "Цштвщцы", а вместо "молоко" - "vjkjrj". Punto Switcher это исправит - раскладка будет переключаться автоматически. Сама программа исключительно полезная, но после покупки ее Яндексом, в дистрибутиве стало слишком много чужеродного. Сам дистрибутив потяжелел почти до 3 мегабайт, в процессе инсталляции навязчиво предлагает сделать Яндекс домашней страницей, установить Яндекс.Трояна и вообще весь стал ходячей рекламой. Это плохо, значит будем исправлять все недоработки авторов.
Читать статью целиком »
Просмотров: 28038 | Комментариев: 42

Готовим окрошку по-уральски
29.05.2009 | Категория: А еще я туда ем! | Автор: ManHunter

Окрошка
Наконец-то наступили жаркие дни, можно приготовить окрошку со свежими овощами. Рецептов окрошки много, я предпочитаю уральский вариант, с квасом и хреном.
Читать статью целиком »
Просмотров: 6843 | Комментариев: 13

Концерт Doro Pesch в "Точке"
27.05.2009 | Категория: Жизнь в оффлайне | Автор: ManHunter

Концерт Doro Pesch в "Точке"
Приезд Doro Pesch в Москву я ждал долго и был очень рад, когда наконец на сайте "Точки" появился анонс концерта и афиша со знакомой фотографией. На этот раз подсуетился пораньше, удалось купить обычный билет в партер.
Читать статью целиком »
Просмотров: 6102 | Комментариев: 6

Всплывающее окно на Ассемблере
26.05.2009 | Категория: Образ мышления: Assembler | Автор: ManHunter
Всплывающее окно - удобный способ информировать о том, что ваша программа выполнила какое-то действие, не требующее немедленного вмешательства пользователя, но достаточно важное, чтобы он об этом узнал. Это может быть сообщение о завершении закачки файла, получении нового письма, завершении длительных вычислений и т.п. Красивый эффект получается, когда информационное окно плавно выезжает из-под таскбара. Простого перемещения окна тут будет недостаточно, так как придется учитывать положение таскбара и всяких других панелей, которые резервируют под себя часть рабочего стола. Поэтому надо сперва получить размер видимой области экрана с учетом различных панелей инструментов и размеры самого всплывающего окна. Затем окно перемещается по одному пикселу в нужном направлении с учетом положения панелей, а размер его видимой части увеличивается на один пиксел в противоположную сторону. Это делается при помощи функции MoveWindow. Лучше всего сам эффект всплытия реализовать на стадии инициализации окна по сообщению WM_INITDIALOG, но в этом случае придется принудительно показывать окно функцией ShowWindow и обновлять его содержимое функцией UpdateWindow после каждого сдвига. Рекомендуются стили окна без заголовка и поверх всех окон, как сделано в прилагаемом примере. Атрибут прозрачности для всплывающих окон лучше не использовать, так как при анимации появляются заметные искажения.Code (Assembler) : Убрать нумерацию
- ; Сегмент данных
- section '.data' data readable writeable
- coord RECT ; Размеры окна
- screen RECT ; Размеры экрана
- ; Сегмент кода
- section '.code' code readable executable
- ...
- ; Обработчик сообщения WM_INITDIALOG
- wminitdialog:
- ; Получить размер рабочей области экрана
- invoke SystemParametersInfo,SPI_GETWORKAREA,NULL,screen,FALSE
- ; Получить размер окна
- invoke GetClientRect,[hwnddlg],coord
- ; Вычислить отступ от правой границы экрана
- mov eax,[screen.right]
- sub eax,[coord.right]
- dec eax
- mov [screen.right],eax
- ; Высота окна
- mov ecx,[coord.bottom]
- ; Цикл всплытия окна
- @@:
- ; Сохранить значение счетчика
- push ecx
- ; Заполняем стек для MoveWindow
- push TRUE
- mov eax,[coord.bottom]
- sub eax,ecx
- push eax
- push [coord.right]
- mov ecx,[screen.bottom]
- sub ecx,eax
- push ecx
- invoke MoveWindow,[hwnddlg],[screen.right]
- ; Так как сейчас только инициализация, то придется принудительно
- ; показать окно и обновить его содержимое
- invoke ShowWindow,[hwnddlg], SW_SHOW
- invoke UpdateWindow,[hwnddlg]
- ; Небольшая пауза
- invoke Sleep,2
- ; Восстановить счетчик
- pop ecx
- loop @b
- ...
Читать статью целиком »
Просмотров: 6116 | Комментариев: 2
