summaryrefslogtreecommitdiff
path: root/win/Figdlg.cpp
diff options
context:
space:
mode:
authorleo2001-01-29 23:40:20 +0000
committerleo2001-01-29 23:40:20 +0000
commit284ee630366231f6a0c893c9b3d3ce1d62b925d6 (patch)
tree73474cfa4884260b75d942c9e3847c4663dbde28 /win/Figdlg.cpp
parent07636fc79aa7bcc76746e742925593ff085f076e (diff)
Minifig Wizard fixes
git-svn-id: http://svn.leocad.org/trunk@235 c7d43263-9d01-0410-8a33-9dba5d9f93d6
Diffstat (limited to 'win/Figdlg.cpp')
-rw-r--r--win/Figdlg.cpp28
1 files changed, 26 insertions, 2 deletions
diff --git a/win/Figdlg.cpp b/win/Figdlg.cpp
index d40c1ca..60e4298 100644
--- a/win/Figdlg.cpp
+++ b/win/Figdlg.cpp
@@ -70,9 +70,33 @@ BOOL CMinifigDlg::OnInitDialog()
::GetWindowRect (::GetDlgItem(m_hWnd, IDC_PREVIEWSTATIC), &r);
ScreenToClient (&r);
+ HINSTANCE hInst = AfxGetInstanceHandle();
+ WNDCLASS wndcls;
+LRESULT CALLBACK GLWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
+
+#define OPENGL_CLASSNAME _T("LeoCADOpenGLClass")
+#define MINIFIG_CLASSNAME _T("LeoCADMinifigOpenGLClass")
+
+ // check if our class is registered
+ if(!(GetClassInfo (hInst, MINIFIG_CLASSNAME, &wndcls)))
+ {
+ if (GetClassInfo (hInst, OPENGL_CLASSNAME, &wndcls))
+ {
+ // set our class name
+ wndcls.lpszClassName = MINIFIG_CLASSNAME;
+ wndcls.lpfnWndProc = GLWindowProc;
+
+ // register class
+ if (!AfxRegisterClass (&wndcls))
+ AfxThrowResourceException();
+ }
+ else
+ AfxThrowResourceException();
+ }
+
m_pMinifigWnd = new CWnd;
- m_pMinifigWnd->Create (NULL, NULL, WS_BORDER | WS_CHILD | WS_VISIBLE, r, this, 501);
- m_pMinifig->Create (m_pMinifigWnd);
+ m_pMinifigWnd->CreateEx (0, MINIFIG_CLASSNAME, "LeoCAD",
+ WS_BORDER | WS_CHILD | WS_VISIBLE, r, this, 0, m_pMinifig);
for (int i = 0; i < LC_MFW_NUMITEMS; i++)
((CColorPicker*)GetDlgItem (IDC_MF_HATCOLOR+i))->SetColorIndex (m_pMinifig->m_Colors[i]);