/** DGui project file. Copyright: Trogu Antonio Davide 2011-2013 License: $(HTTP boost.org/LICENSE_1_0.txt, Boost License 1.0). Authors: Trogu Antonio Davide */ module dgui.core.message; import dgui.core.winapi; /* DGui Custom Messages in order to overcome WinAPI's limitation */ enum { DGUI_BASE = WM_APP + 1, // DGui's internal message start DGUI_ADDCHILDCONTROL = DGUI_BASE, // void DGUI_ADDCHILDCONTROL(Control childControl, NULL) DGUI_DOLAYOUT = DGUI_BASE + 1, // void DGUI_DOLAYOUT(NULL, NULL) DGUI_SETDIALOGRESULT = DGUI_BASE + 2, // void DGUI_SETDIALOGRESULT(DialogResult result, NULL) DGUI_REFLECTMESSAGE = DGUI_BASE + 3, // void DGUI_REFLECTMESSAGE(Message m, NULL) DGUI_CHILDCONTROLCREATED = DGUI_BASE + 4, // void DGUI_CHILDCONTROLCREATED(Control childControl, NULL) DGUI_CREATEONLY = DGUI_BASE + 5, // void DGUI_CREATEONLY(NULL, NULL) } struct Message { HWND hWnd; uint msg; WPARAM wParam; LPARAM lParam; LRESULT result; public static Message opCall(HWND h, uint msg, WPARAM wp, LPARAM lp) { Message m; m.hWnd = h; m.msg = msg; m.wParam = wp; m.lParam = lp; return m; } }