Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.06.05;
Скачать: CL | DM;

Вниз

Прозрачное неактивное окно   Найти похожие ветки 

 
RMan ©   (2011-02-24 20:50) [0]

Здравствуйте. Подскажите как сделать форму такой, чтобы она была поверх всех окон всех запущенных приложений, прозрачной, неактивной и не реагировала на мышь, фокус получало бы окно, которое находится за этой формой. Что-то типа "трафарета" на мониторе.

Нужен эффект как в этой утилите:
http://majorgeeks.com/Ghost-It_d1128.html
http://majorgeeks.com/screenshot.php?screenshot=1128


 
KilkennyCat ©   (2011-02-24 21:02) [1]

stayontop,
alphablend
поиск окна за формой
отправка найденному окну всех маус-сообщений


 
KilkennyCat ©   (2011-02-24 21:14) [2]

но лучше всего обойтись без окна, рисуя прямо поверх всех.
только придется отслеживать изменения все окон.


 
RMan ©   (2011-02-24 22:56) [3]


> поиск окна за формой
> отправка найденному окну всех маус-сообщений
> но лучше всего обойтись без окна, рисуя прямо поверх всех.
>
> только придется отслеживать изменения все окон.


А можно поподробней, как это сделать? Кусок кода для примера...


 
LWoman   (2011-02-24 23:06) [4]

procedure TForm1.Button2Click(Sender: TObject);
var
bf : BLENDFUNCTION;
begin
bf.BlendOp := AC_SRC_OVER;
bf.BlendFlags := 0;
bf.AlphaFormat := 0;
bf.SourceConstantAlpha := $7f;
Windows.AlphaBlend(Canvas.Handle, 0, 0, 16, 16,
MyBitmap.Canvas.Handle,
0, 0, 16, 16, bf);
end;


 
v2 ©   (2011-02-24 23:24) [5]

/// On Run or WM_CREATE
ExStyle := WS_EX_LAYERED or WS_EX_TOPMOST or WS_EX_TRANSPARENT or WS_EX_TOOLWINDOW;
Style := WS_POPUPWINDOW;
CreateWindowEx(ExStyle,"","",Style, ...
// or GetWindowLong/SetWindowLong

/// On WM_CREATE
SetLayeredWindowAttributes(hWnd,RGB(255,255,255),128,LWA_ALPHA);
RegisterHotKey(hWnd,101,MOD_WIN,0x5A);

/// On WM_HOTKEY  On/Off Input Focus
ExStyle := GetWindowLong(hWnd,GWL_EXSTYLE);
ExStyle := ExStyle xor WS_EX_TRANSPARENT;
SetWindowLong(hWnd,GWL_EXSTYLE,ExStyle);
InvalidateRect(hWnd,NULL,TRUE);
SendMessage(hWnd,WM_PAINT,0,0);


 
RMan ©   (2011-02-25 01:44) [6]

Спасибо, буду пробовать.



Страницы: 1 вся ветка

Текущий архив: 2011.06.05;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.003 c
15-1298022283
павел
2011-02-18 12:44
2011.06.05
ограничение использования FloatToStr и ему подобных


2-1298303360
Alex_C
2011-02-21 18:49
2011.06.05
Ошибка при FreeLibrary


15-1297805399
Юрий
2011-02-16 00:29
2011.06.05
С днем рождения ! 16 февраля 2011 среда


8-1212578762
Ламерёнок
2008-06-04 15:26
2011.06.05
И вновь перемотка ...... (да она самая)


2-1298537474
FIL-23
2011-02-24 11:51
2011.06.05
растягиване компонент пропорционально форме





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский