информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеВсе любят медГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[Win32] window Transparency in XP 05.11.03 13:11  
Автор: TRESPASSER[CfK] Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как програмно реализовать subj, а то хочу шелл вроде LiteStep'a написать (сам незнаю зачем, наверно потому что LiteStep глючит на 9x =)
Желательно сэмпл для ХР и можно ли самому это сделать в 9Х.
[Win32] SetLayeredWindowAttributes/UpdateLayeredWindow 05.11.03 13:21  
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 05.11.03 13:26  Количество правок: 1
<"чистая" ссылка>
> Как програмно реализовать subj, а то хочу шелл вроде
> LiteStep'a написать (сам незнаю зачем, наверно потому что
> LiteStep глючит на 9x =)
> Желательно сэмпл для ХР и можно ли самому это сделать в 9Х.
Для 9х не знаю. Не уверен, что вообще возможно

Вот пример fade out-а из MSDN-а:

VOID FadeRect(RECT* prc, HDC hdc)
{
    BOOL fFade = FALSE;
    HWND hwnd;
    SIZE size;
    POINT ptSrc = {0, 0};
    BLENDFUNCTION blend;
 
    // Be nice and respect the user's wishes: Do they want the fade?
    SystemParametersInfo(SPI_GETSELECTIONFADE, 0, &fFade, 0);
    if (!fFade)
        return;
    hwnd = CreateWindowEx(WS_EX_LAYERED | // Layered Windows
            WS_EX_TRANSPARENT | // Don't hittest this window
            WS_EX_TOPMOST | WS_EX_TOOLWINDOW, 
            gszFade, gszFade, WS_POPUP | WS_VISIBLE, prc->left,
            prc->top, 0, 0, NULL, (HMENU)0, ghinst, NULL);
    size.cx = prc->right - prc->left;
    size.cy = prc->bottom - prc->top;
    
    blend.BlendOp = AC_SRC_OVER;
    blend.BlendFlags = 0;
    blend.AlphaFormat = 0;
    blend.SourceConstantAlpha = gbAlpha;
 
    UpdateLayeredWindow(hwnd, NULL, NULL, &size, hdc, &ptSrc, 0,
            &blend, ULW_ALPHA);
    // Finally set the animation timer
    SetTimer(hwnd, ID_TIMER, 25, NULL);
}

---
Subsequently, on a timer the window can fade out by providing the new alpha value:

    case WM_TIMER:
        {
            BLENDFUNCTION blend;
            blend.BlendOp = AC_SRC_OVER;
            blend.BlendFlags = 0;
            blend.AlphaFormat = 0;
            blend.SourceConstantAlpha = gbAlpha;
 
            UpdateLayeredWindow(hwnd, NULL, NULL, NULL, NULL, NULL,
                    NULL, &blend, ULW_ALPHA);
            if (gbAlpha > 25) {
                gbAlpha -= 25;
            } else {
                DestroyWindow(hwnd);
            }
        }
        break;

---
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach