1. I would like to change the opacity of the main window. I have found this article on Layered Window and have tried the example of "making a dialog box come up as a translucent window". Even when I put the following code (directly from the example):
into WM_INITDIALOG, the window comes up hidden or something. Note: It is fine when I take the code out and also I am not having this problem:Code:// Set WS_EX_LAYERED on this window SetWindowLong(hwndDlg, GWL_EXSTYLE, GetWindowLong(hwndDlg, GWL_EXSTYLE) | WS_EX_LAYERED); // Change opacity of window SetLayeredWindowAttributes(hwndDlg, 0, (255 * 80) / 100, LWA_ALPHA);
I think it is to do with handling WM_PAINT, a message which I have ignored and don't know how to use (as of yet). I try putting in WM_PAINT and make it always return straight away and the opacity stays at 100% and all the window controls are missing, waht's up with that?
2. Just Woundering, is it possible to make a child window at runtime? (e.g. Use CreateWindow instead of DialogBox(..., MAKEINTRESOURCE(IDD_RUNDIALOG), ...). I know how to create a child window from a resource using the DialogBox(...) method, but not the other way. The main downfall is that windows created from resources can't be resized (in my experience anyway, & I really like to resize windows). If it is possible to use CreateWindow please say how, as I'm stumped on this issue (and the above one too). Thanks.