Setting your window to transparent slows down your windows drawing speed. You can just set it to transparent when you exit like below:
void MyDlg::OnClose()
{
m_hUserDll = ::LoadLibrary(_T("USER32.dll"));
::SetWindowLong(m_hWnd, GWL_EXSTYLE, ::GetWindowLong(m_hWnd, GWL_EXSTYLE) | WS_EX_LAYERED );
SetTransparent(m_hWnd, 0, 255 * 100/100 , LWA_ALPHA );
UpdateWindow();
CloseSmoothly();
CDialog::OnClose();
}
How to extract a stored dialog box from EXE file. I have this EXE file it is for a game. When you run the game and when you hit [ENTER] a dialog box pop ups (Chat box) to enter some chat. I would like to know where I can find this dialog box so I can edit its shape or make it wider?I appreciate your respond.Note I used PE explorer but did not extract dialog boxes only icon stuff and some scriptsReply
Originally posted by: Courtz
Where does this get declared
Its a typo should be GWL_EXSTYLE :)
ReplyOriginally posted by: Courtz
Where does this get declared
ReplyOriginally posted by: saeed AL-hamed
Abo-Salah????? lol... i think u know ahmad abo salah .. nice idea anyway...
Originally posted by: Ravi Sharma
I want to create a bitmap of + sighn and want to bitblt on the screen at mouse cursor position.till now everything is ok now i want to make this "+" sighn transparent.. transperency level will be from 0 to 100
ReplyOriginally posted by: Gempin
i found it only can work to a dialog window, but a control window, it do nothing, and you?
ReplyOriginally posted by: alex
Really nice.. I still have a little flickering flash when I pop up any window using this effect, but I guess this is usual as NVidia Desktop manager also have it when enabling transparent windows.
Keep up the good work :) and thank you.
Alexis.
ReplyOriginally posted by: yfei
Just set window attribute don't work for hardware accelerated window like OpenGL and DirectX
Upto now, I got some good progress on OpenGL. It's working, but still need some improvement.
What I did:
1) Don't use set...attribute(), and don't response to WM_PAINT. Instead, use UpdateLayeredWindow() to paint the window.
2) Don't (Don't need to) call SwapBuffer()
3) Let OpenGL only paint to the GL_BACK background buffer. after GL painted the scene, call glReadPixels(...) to grab OpenGL's output to array 'data'. use 'data' to generate a 'bitmap'.
4) Call UpdateLayeredWindow() to draw the window, use 'bitmap's DC as input.
Then, done! everything smooth and perfect, except:
problems:
1) Due to bits format difference between OpenGL and Windows Bitmap, the bitmap is 'upside-down'.
2) And color also not right if use 'GL_RGBA' when calling glReadPixels. if use 'GL_BGRA_EXT' then color will be right.
but 'upside-down' problem I don't know how to solve.
Originally posted by: hu
very good!
Originally posted by: hu
very good!