summaryrefslogtreecommitdiff
path: root/ACE/tests/ACE_Init_TestDlg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/tests/ACE_Init_TestDlg.cpp')
-rw-r--r--ACE/tests/ACE_Init_TestDlg.cpp117
1 files changed, 117 insertions, 0 deletions
diff --git a/ACE/tests/ACE_Init_TestDlg.cpp b/ACE/tests/ACE_Init_TestDlg.cpp
new file mode 100644
index 00000000000..9b10c1e0257
--- /dev/null
+++ b/ACE/tests/ACE_Init_TestDlg.cpp
@@ -0,0 +1,117 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = DESCRIPTION
+// This is a Win32-only test for verifying that the ACE dll
+// initializes itself without having a nonstatic object manager
+// present by way of a console app's main function. It's a MFC dialog
+// app - it pops up a dialog and spawns a thread - this source file is
+// the code for implementing the dialog box.
+//
+// This test program was initially generated from MSVC AppWizard, then
+// some files were renamed and moved around to fit in with the ACE
+// test directory structure.
+//
+// = AUTHOR
+// Steve Huston <shuston@riverace.com>
+//
+// ============================================================================
+
+#if defined(ACE_HAS_MFC)
+
+#include "ACE_Init_Test_StdAfx.h"
+#include "ACE_Init_Test.h"
+#include "ACE_Init_TestDlg.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// CACE_Init_TestDlg dialog
+
+CACE_Init_TestDlg::CACE_Init_TestDlg(CWnd* pParent /*=NULL*/)
+ : CDialog(CACE_Init_TestDlg::IDD, pParent)
+{
+ //{{AFX_DATA_INIT(CACE_Init_TestDlg)
+ // NOTE: the ClassWizard will add member initialization here
+ //}}AFX_DATA_INIT
+ // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
+ m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
+}
+
+void CACE_Init_TestDlg::DoDataExchange(CDataExchange* pDX)
+{
+ CDialog::DoDataExchange(pDX);
+ //{{AFX_DATA_MAP(CACE_Init_TestDlg)
+ // NOTE: the ClassWizard will add DDX and DDV calls here
+ //}}AFX_DATA_MAP
+}
+
+BEGIN_MESSAGE_MAP(CACE_Init_TestDlg, CDialog)
+ //{{AFX_MSG_MAP(CACE_Init_TestDlg)
+ ON_WM_PAINT()
+ ON_WM_QUERYDRAGICON()
+ //}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CACE_Init_TestDlg message handlers
+
+BOOL CACE_Init_TestDlg::OnInitDialog()
+{
+ CDialog::OnInitDialog();
+
+ // Set the icon for this dialog. The framework does this automatically
+ // when the application's main window is not a dialog
+ SetIcon(m_hIcon, TRUE); // Set big icon
+ SetIcon(m_hIcon, FALSE); // Set small icon
+
+ // TODO: Add extra initialization here
+
+ return TRUE; // return TRUE unless you set the focus to a control
+}
+
+// If you add a minimize button to your dialog, you will need the code below
+// to draw the icon. For MFC applications using the document/view model,
+// this is automatically done for you by the framework.
+
+void CACE_Init_TestDlg::OnPaint()
+{
+ if (IsIconic())
+ {
+ CPaintDC dc(this); // device context for painting
+
+ SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
+
+ // Center icon in client rectangle
+ int cxIcon = GetSystemMetrics(SM_CXICON);
+ int cyIcon = GetSystemMetrics(SM_CYICON);
+ CRect rect;
+ GetClientRect(&rect);
+ int x = (rect.Width() - cxIcon + 1) / 2;
+ int y = (rect.Height() - cyIcon + 1) / 2;
+
+ // Draw the icon
+ dc.DrawIcon(x, y, m_hIcon);
+ }
+ else
+ {
+ CDialog::OnPaint();
+ }
+}
+
+// The system calls this to obtain the cursor to display while the user drags
+// the minimized window.
+HCURSOR CACE_Init_TestDlg::OnQueryDragIcon()
+{
+ return (HCURSOR) m_hIcon;
+}
+
+#endif /* ACE_HAS_MFC */