From 3f222b75d8f85f4a2835dbd828b6962f7e3a7120 Mon Sep 17 00:00:00 2001 From: andreja6 Date: Tue, 24 Apr 2018 18:01:26 -0700 Subject: [PATCH] Tried adding dialog and main window --- Dialogs.aps | Bin 18120 -> 34160 bytes Dialogs.rc | 31 +++++++++++++++++++++++++++++++ main.cpp | 47 ++++++++++++++++++++++++++++++++++++++++++++++- resource.h | 6 ++++-- 4 files changed, 81 insertions(+), 3 deletions(-) diff --git a/Dialogs.aps b/Dialogs.aps index 51701b7447bd01f66e7debdfdc99f6597fb80bfe..d31b93976558fc97b03ae56c2e7e4be29d6067a9 100644 GIT binary patch delta 8559 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 UeDKkDpm<@3Rq)oMKV1d?2Yje4sQ>@~ delta 264 zcmey+#dM;Vae@o8h%3Y72M(Hy+>;9%6gRUq#4%1bXzH0*Aj8PCvG=;Y-aJMI1{DSd z1`mdC1}7l>|NluK$-rR1z$w54W`V>YfKy;{hGPI15;wr9ZL*z{5US9u$tey%<0m&d z9G01YVLZf8knxiPnswN?fp#omm^`mVW-?oY5Sti~`vk&mYY}5IUio`GQj)5J14VUP!=09}scfyw>NqD&Dkld~M;0AP7k`2YX_ diff --git a/Dialogs.rc b/Dialogs.rc index b346945..bc28737 100644 --- a/Dialogs.rc +++ b/Dialogs.rc @@ -46,6 +46,37 @@ END #endif // APSTUDIO_INVOKED + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_TOOLBOX DIALOGEX 0, 0, 398, 64 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + CONTROL "",IDC_TOOLBOX_BROWSER, + "{A8F8E829-06DA-11D2-8D70-00A0C98B28E2}",WS_TABSTOP,0,0,398,64 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog Info +// + +IDD_TOOLBOX DLGINIT +BEGIN + IDC_TOOLBOX_BROWSER, 0x376, 76, 0 +0x0000, 0x0000, 0xb293, 0x0000, 0x0048, 0x0000, 0x0003, 0x0008, 0xf20b, +0x4757, 0x0020, 0x0000, 0x005f, 0x0065, 0x0078, 0x0074, 0x0065, 0x006e, +0x0074, 0x0078, 0x3db4, 0x0000, 0x0003, 0x0008, 0xf20a, 0x4757, 0xffe0, +0xffff, 0x005f, 0x0065, 0x0078, 0x0074, 0x0065, 0x006e, 0x0074, 0x0079, +0x0ac0, 0x0000, + 0 +END + #endif // English (U.S.) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/main.cpp b/main.cpp index 602d3ed..f883492 100644 --- a/main.cpp +++ b/main.cpp @@ -1111,6 +1111,8 @@ App::~App() { LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { + App *app = (App *)GetWindowLongPtr(hwnd, GWL_USERDATA); + switch(msg) { case WM_CLOSE: @@ -1143,8 +1145,51 @@ int main(int argc, char** argv) { //wnd->setInputCaptureCount(200); wnd->setMouseVisible(false); App app = App(settings, wnd); - HWND hwnd = wnd->win32HWND(); + + + WNDCLASSEX wc; + HINSTANCE hInstance = GetModuleHandle(NULL); + wc.cbSize = sizeof(WNDCLASSEX); + wc.style = 0; + wc.lpfnWndProc = WndProc; + wc.cbClsExtra = 0; + wc.cbWndExtra = 0; + wc.hInstance = hInstance; + wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); + wc.hCursor = LoadCursor(NULL, IDC_ARROW); + wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); + wc.lpszMenuName = NULL; + wc.lpszClassName = "containerHWND"; + wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); + if (!RegisterClassEx (&wc)) + return false; + + HMODULE hThisInstance = GetModuleHandle(NULL); + HWND hwnd = wnd->win32HWND(); + HWND hwndMain = CreateWindowEx( + WS_EX_ACCEPTFILES | WS_EX_CLIENTEDGE, + "containerHWND", + "Main test", + WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, + CW_USEDEFAULT, + 800, + 800, + NULL, // parent + NULL, // menu + hThisInstance, + NULL + ); + ShowWindow(hwndMain, SW_SHOW); + if(hwndMain == NULL) + { + MessageBox(NULL, "Failed to create HWND","Dynamica Crash", MB_OK); + } + SetParent(hwnd, hwndMain); + SetWindowPos(hwnd, NULL, 0, 0, 640, 480, NULL); + SetWindowLong(hwnd, GWL_STYLE, WS_VISIBLE | WS_CHILD | WS_BORDER); + SetWindowLongPtr(hwndMain, GWL_USERDATA, (LONG)&app); app.run(); return 0; } diff --git a/resource.h b/resource.h index 3d988c8..7259ef5 100644 --- a/resource.h +++ b/resource.h @@ -3,14 +3,16 @@ // Used by Dialogs.rc // #define IDD_ABOUT_DIALOG 102 +#define IDD_TOOLBOX 103 +#define IDC_TOOLBOX_BROWSER 1001 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 105 +#define _APS_NEXT_RESOURCE_VALUE 106 #define _APS_NEXT_COMMAND_VALUE 40004 -#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_CONTROL_VALUE 1002 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif