1

Topic: How to draw over other window?

Hello. Continuing a subject deep  interactions, I want to draw over one my window (belonging to other process) the additional drawing. How it to organize? I see three ways: 1. To try to draw by turns somehow to both processes in the general window. To create any primitive of synchronization, and to wait, while draws one, then draws another. But, generally, there can be a problem with setting of two  devices on one window? And the double-buffering will behave in a queer way, on idea, and the upper image will flicker, permanently frayed by the lower. 2. To create a window over a window and the second application will draw purely in it. It is tempting but how to make the "transparent" window? That the upper window did not fray completely the lower? 3. The second application draws in a separate texture which transfers to the first, and the first is simple  it in the end of the cycle . Very big overhead projector and  is literally everywhere. It is for certain possible, there are examples, for example, translucent windows in win7 or when any programs and the driver display the  over other windows.

2

Re: How to draw over other window?

Hello, Went, you wrote: W>... I want to draw over one my window (belonging to other process) the additional drawing. W> as it to organize? I see three ways: W> 1. To try to draw by turns somehow to both processes in the general window. To create any primitive of synchronization, and to wait, while draws one, then draws another. But, generally, there can be a problem with setting of two  devices on one window? And the double-buffering will behave in a queer way, on idea, and the upper image will flicker, permanently frayed by the lower. W> 2. To create a window over a window and the second application will draw purely in it. It is tempting but how to make the "transparent" window? That the upper window did not fray completely the lower? W> 3. The second application draws in a separate texture which transfers to the first, and the first is simple  it in the end of the cycle . Very big overhead projector and  is literally everywhere. 1. Will flicker. 2. The transparent window (layered) to make easily; to synchronize move/resize it is almost impossible. 3. A reliable variant. 4. The first process prepares , transfers it "for a minute" to the second for post-handling, then - bitblt.

3

Re: How to draw over other window?

Hello, VladFein, you wrote: VF> 2. The transparent window (layered) to make easily; to synchronize move/resize it is almost impossible. In my case very much even I am possible I can easily track relocation of the lower window and move the upper. And easy mistiming at the moment of relocation does not frighten me VF> 4. The first process prepares , transfers it "for a minute" to the second for post-handling, then - bitblt. Well, it almost 3rd variant. Reliable, but very intrusive - demands deep upgrade of the code of the first process. Especially if to consider that the first draws through 3D-API.

4

Re: How to draw over other window?

Hello, VladFein, you wrote: VF> 2. The transparent window (layered) to make easily; to synchronize move/resize it is almost impossible. A question one more. And probably to make it partially transparent? There it is possible to set or the general transparency (the sense is not present) or completely transparent COLORKEY which does not support half-transparency. Or I not so do something?

5

Re: How to draw over other window?

Hello, Went, you wrote: VF>> 2. The transparent window (layered) to make easily; to synchronize move/resize it is almost impossible. W> In my case very much even I am possible I can easily track relocation of the lower window and move the upper. And easy mistiming at the moment of relocation does not frighten me to Track what? WM_WINDOWPOSCHANGING? If to pull a window with the "correct" speed, there will be noticeable jumps.

6

Re: How to draw over other window?

Hello, Went, you wrote: VF>> 2. The transparent window (layered) to make easily; to synchronize move/resize it is almost impossible. W> the Question one more. And probably to make it partially transparent? There it is possible to set or the general transparency (the sense is not present) or completely transparent COLORKEY which does not support half-transparency. Or I not so do something? There is no saying without seeing the code... I Suppose that you use SetLayeredWindowAttributes. Function UpdateLayeredWindow It is necessary to you allows to use 32-bit RGBA a picture with alpha channel (the given transparency for each point). https://stackoverflow.com/questions/126 … hats-wrong

7

Re: How to draw over other window?

Hello, Went, you wrote: VF>> 2. The transparent window (layered) to make easily; to synchronize move/resize it is almost impossible. W> the Question one more. And probably to make it partially transparent? There it is possible to set or the general transparency (the sense is not present) or completely transparent COLORKEY which does not support half-transparency. Or I not so do something? Here so it is possible to do I for the second variant, it less problem. Events  and  are caught well through SetWinEventHook

8

Re: How to draw over other window?

Hello, VladFein, you wrote: VF> to Track what? WM_WINDOWPOSCHANGING? If to pull a window with the "correct" speed, there will be noticeable jumps. These jumps do not frighten me. Specificity of the task the such

9

Re: How to draw over other window?

Hello, VladFein, you wrote: VF> function UpdateLayeredWindow VF> It is necessary to you allows to use 32-bit RGBA a picture with alpha channel (the given transparency for each point). VF> https://stackoverflow.com/questions/126 … hats-wrong Super! Quite the cheese!