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

Вниз

Click-through windows   Найти похожие ветки 

 
whiteshadow   (2003-04-01 16:37) [0]

[first of all, i apologize for writing in english - it"s simply because i write in russian fifteen times slower and don"t want to spend the whole day typing this. i guess most of programmers can read english [you read help files, don"t you? :) ]]

my question is : how do i create windows that do not respond mouse events, nor intercept them? i need windows behind those "click-through" windows to be able to respond to mouse-clicks etc as if there were no windows in front of them.

i"ll try to explain by an example ["cause i"m often said to speak too complex] -

there are many utilities - indicators, that place their small floating windows "on-top" to make them always visible. in WinXP [i"ve heard this is possible in Win2k too] windows can be "semitransparent" or whatever the word is... so, if you have a semitransparent indicator window, you can see other windows through it. but! you can"t, for example, click on those other windows! so i want to be able to make a program that makes a window [maybe a window of another program] such "click-through" window, so that this [example] indicator stays on top and takes up no workspace at the same time.

so, any good ideas on this matter? [my first thought was "hook the mouse", would that be any use?]


 
BJValentine   (2003-04-01 16:51) [1]

Sorrey, but technical text read (in help) and translate to russian it is not hard. Your question is not technical.
I think no body answer to You.

Sorrey for my English...


 
whiteshadow   (2003-04-01 17:00) [2]

Then I"ll rephrase it an repost or whatever. Or translate in russian [and then you"ll see what "плохо пишу" means :)].


 
Игорь Шевченко   (2003-04-01 17:00) [3]

Maybe WS_EX_LAYERED window Extended style will help you, or, if you want to do it manually, try HTTRANSPARENT responce to WM_NCHITTEST message.

Hope this helps


 
Morfein   (2003-04-01 21:34) [4]

If you only need an indicator, why do you decide to use window?
Why didn"t you try to paint on all other windows?
There are a lot of ways you can do it... Interseption of WM_PAINT the only one... and this way you can create semitransparent indicator with your own style...

"click-through" you can "perform" only if you redirect all "clicks" to "Z-ORDER lower" windows by yourself... like sending WM_LBUTTONDOWN and WM_LBUTTONUP


 
whiteshadow   (2003-04-02 11:40) [5]

I tried using WM_NCHITTEST, but couldn"t get it to do what I need. Adding WS_EX_LAYERED to extended style made an ... interesting :) effect. Could you give a good link about programming with layered windows?

2 Morfein : interesting, I"ll try that too.


 
Игорь Шевченко   (2003-04-02 13:07) [6]

whiteshadow © (02.04.03 11:40)

MSDN



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

Форум: "WinAPI";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
1-94935
adogg
2003-05-17 16:29
2003.05.29
Memo


3-94701
prof
2003-05-08 06:41
2003.05.29
Ошибка в запросе SQL insert into


14-95069
zhenya
2003-05-08 20:55
2003.05.29
Люди вопрос по Линуксу очень надо?


4-95155
KateDreamer
2003-04-02 04:07
2003.05.29
DLL


3-94723
AleksandrKu
2003-05-08 14:49
2003.05.29
Как через АДО подключиться к Pervasive серверу?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский