digitalmars.D.dtl - [WINAPI] Window in D
- Daniel Wojdak (18/18) Jan 01 2009 My english is not good. Apologize for this.
- Mike Parker (4/29) Jan 01 2009 This should do the trick:
- Denis Koroskin (15/39) Jan 02 2009 Ouch! What does this function return? Shouldn't typeof(return) be LRESUL...
- Phil Lavoie (3/19) Dec 28 2012 What he says is good, but I believe you should add nothrow to
- Phil Lavoie (3/24) Dec 28 2012 haha! Never mind that I did not realized the thread was started
My english is not good. Apologize for this. I start programming in D and i have a problem. When I try make a window procedure and register class window. Compiler show error: "Error: cannot implicitly convert expression (& WindowProcedure) of type intWindows function(HANDLE, uint, uint, int) function(HANDLE hwnd, uint message, uint wParam, int lParam) to intWindows function(HANDLE, uint, uint, int)" Window Procedure: "WNDPROC WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: PostQuitMessage (0); break; default: return cast(WNDPROC) DefWindowProcA (hwnd, message, wParam, lParam); } return cast(WNDPROC) 0; }" How must look window procedure in order to it's work?
Jan 01 2009
Daniel Wojdak wrote:My english is not good. Apologize for this. I start programming in D and i have a problem. When I try make a window procedure and register class window. Compiler show error: "Error: cannot implicitly convert expression (& WindowProcedure) of type intWindows function(HANDLE, uint, uint, int) function(HANDLE hwnd, uint message, uint wParam, int lParam) to intWindows function(HANDLE, uint, uint, int)" Window Procedure: "WNDPROC WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: PostQuitMessage (0); break; default: return cast(WNDPROC) DefWindowProcA (hwnd, message, wParam, lParam); } return cast(WNDPROC) 0; }" How must look window procedure in order to it's work?This should do the trick: extern(Windows) int WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
Jan 01 2009
On Thu, 01 Jan 2009 19:34:42 +0300, Daniel Wojdak <danielwojdak gmail.com> wrote:My english is not good. Apologize for this. I start programming in D and i have a problem. When I try make a window procedure and register class window. Compiler show error: "Error: cannot implicitly convert expression (& WindowProcedure) of type intWindows function(HANDLE, uint, uint, int) function(HANDLE hwnd, uint message, uint wParam, int lParam) to intWindows function(HANDLE, uint, uint, int)" Window Procedure: "WNDPROC WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: PostQuitMessage (0); break; default: return cast(WNDPROC) DefWindowProcA (hwnd, message, wParam, lParam); } return cast(WNDPROC) 0; }" How must look window procedure in order to it's work?Ouch! What does this function return? Shouldn't typeof(return) be LRESULT? extern(Windows): LRESULT WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: PostQuitMessage (0); break; default: break; } return DefWindowProcA (hwnd, message, wParam, lParam); }
Jan 02 2009
Ouch! What does this function return? Shouldn't typeof(return) be LRESULT? extern(Windows):What he says is good, but I believe you should add nothrow to that: extern( Windows ) nothrow:LRESULT WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: PostQuitMessage (0); break; default: break; } return DefWindowProcA (hwnd, message, wParam, lParam); }
Dec 28 2012
On Friday, 28 December 2012 at 16:25:30 UTC, Phil Lavoie wrote:haha! Never mind that I did not realized the thread was started that long ago!Ouch! What does this function return? Shouldn't typeof(return) be LRESULT? extern(Windows):What he says is good, but I believe you should add nothrow to that: extern( Windows ) nothrow:LRESULT WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: PostQuitMessage (0); break; default: break; } return DefWindowProcA (hwnd, message, wParam, lParam); }
Dec 28 2012