Thread overview | ||||||
---|---|---|---|---|---|---|
|
January 30, 2020 How change window Backgound Color when press a Button when using "ResEdit Resource Editor" to design? | ||||
---|---|---|---|---|
| ||||
I created a GUI using "ResEdit Resource Editor" and embeded to Dlang using this code above. Now I want to change the window Backgound Color when press a Button. How can I make it? import core.sys.windows.windows; import core.sys.windows.commctrl; import std.stdio; pragma(lib, "gdi32.lib"); pragma(lib, "comctl32.lib"); enum IDD_DIALOG1 = 100; enum BT_1 = 40000; HINSTANCE hInst; extern(Windows): BOOL DlgMain(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) nothrow { switch(uMsg) { case WM_INITDIALOG: { } return TRUE; case WM_CLOSE: { EndDialog(hwndDlg, 0); } return TRUE; case WM_COMMAND: { switch(LOWORD(wParam)) { case BT_1: { try { // When press button the background need change to red for exemple. } catch(Exception) { } return true; } default: { break; } } } return TRUE; default:{ } } return FALSE; } int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { hInst=hInstance; InitCommonControls(); return DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), NULL, &DlgMain); } |
January 30, 2020 Re: How change window Backgound Color when press a Button when using "ResEdit Resource Editor" to design? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Marcone | On Thursday, 30 January 2020 at 03:49:29 UTC, Marcone wrote:
> I created a GUI using "ResEdit Resource Editor" and embeded to Dlang using this code above. Now I want to change the window Backgound Color when press a Button. How can I make it?
>
>
You need to handle WM_ERASEBKGND
And then you can set it using CreateSolidBrush and SetClassLongPtr with GCLP_HBRBACKGROUND
|
January 30, 2020 Re: How change window Backgound Color when press a Button when using "ResEdit Resource Editor" to design? | ||||
---|---|---|---|---|
| ||||
Posted in reply to bauss | On Thursday, 30 January 2020 at 04:29:42 UTC, bauss wrote:
> On Thursday, 30 January 2020 at 03:49:29 UTC, Marcone wrote:
>> I created a GUI using "ResEdit Resource Editor" and embeded to Dlang using this code above. Now I want to change the window Backgound Color when press a Button. How can I make it?
>>
>>
>
> You need to handle WM_ERASEBKGND
>
> And then you can set it using CreateSolidBrush and SetClassLongPtr with GCLP_HBRBACKGROUND
I am very noob. Can you send me the code?
|
January 30, 2020 Re: How change window Backgound Color when press a Button when using "ResEdit Resource Editor" to design? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Marcone | On Thursday, 30 January 2020 at 04:31:46 UTC, Marcone wrote: > > I am very noob. Can you send me the code? You've been asking a lot of questions about the Win32 API. This is a D programming forum, not a Win32 API forum. I'm sure people are generally happy to help point you in the right direction, but you can't rely on anyone to send you code for it. Not many people are doing Win32 API programming in D (and I would guess a large percentage of the community here have never touched it). You really need to be following a Win32 API tutorial to learn this stuff. I don't personally know how good any online Win32 tutorials are, but I do know that the book "Programming Windows 5th Edition" is an excellent resource for learning Win32 programming: https://amzn.to/37C6htu It's available in both hardcover and Kindle editions. If you can afford to get it, I highly recommend you do. Several years ago, Andrej Mitrovic translated many of the examples from that book to D. Even if you don't buy the book, this will be a good resource to help you: https://github.com/AndrejMitrovic/DWinProgramming |
Copyright © 1999-2021 by the D Language Foundation