Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.003 c
15-1296771492
xayam
2011-02-04 01:18
2011.06.05
Какая у Вас группа крови?


2-1294930060
Scott Storch
2011-01-13 17:47
2011.06.05
загрузка dll из ресурса


2-1298528887
Xmen
2011-02-24 09:28
2011.06.05
Изменение картинки в SpeedButtonе


2-1295467098
Тимоха111
2011-01-19 22:58
2011.06.05
Задержка sleep


2-1298894365
advise
2011-02-28 14:59
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский