Главная страница
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.48 MB
Время: 0.009 c
8-1212578762
Ламерёнок
2008-06-04 15:26
2011.06.05
И вновь перемотка ...... (да она самая)


2-1298571014
nord
2011-02-24 21:10
2011.06.05
ожидание выполнения процедуры


15-1297676970
***
2011-02-14 12:49
2011.06.05
Россия занимает 3-е место в мире по количеству выпускаемых книг


2-1298584745
Артём
2011-02-25 00:59
2011.06.05
Деление строки


15-1297937141
Ламот
2011-02-17 13:05
2011.06.05
Звонки с диалапмодема...