home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / C++-7 / DISK11 / MFC / SAMPLES / CTRLTEST / CTRLTEST.CP$ / ctrltest
Encoding:
Text File  |  1992-03-16  |  2.8 KB  |  100 lines

  1. // ctrltest.cpp : Dialogs and Controls test applet
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and Microsoft
  9. // QuickHelp documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12.  
  13. #include "ctrltest.h"
  14.  
  15. /////////////////////////////////////////////////////////////////////////////
  16. // Main Window
  17.  
  18. BEGIN_MESSAGE_MAP(CTestWindow, CFrameWnd)
  19.     ON_COMMAND(IDM_EXIT, OnExit)
  20.     ON_COMMAND(IDM_ABOUT, OnAbout)
  21.     // simple
  22.     ON_COMMAND(IDM_TEST_DERIVED_EDIT, OnTestDerivedEdit)
  23.     ON_COMMAND(IDM_TEST_WNDCLASS_EDIT, OnTestWndClassEdit)
  24.     ON_COMMAND(IDM_TEST_SUB_EDIT, OnTestSubclassedEdit)
  25.     // pen
  26.     ON_COMMAND(IDM_TEST_PENEDIT_CODE, OnTestPenEditFromCode)
  27.     ON_COMMAND(IDM_TEST_PENEDIT_TEMPLATE, OnTestPenEditFromTemplate)
  28.     ON_COMMAND(IDM_TEST_PENEDIT_FEATURES, OnTestPenEditFeatures)
  29.     // custom
  30.     ON_COMMAND(IDM_TEST_BITMAP_BUTTON1, OnTestBitmapButton1)
  31.     ON_COMMAND(IDM_TEST_BITMAP_BUTTON2, OnTestBitmapButton2)
  32.     ON_COMMAND(IDM_TEST_CUSTOM_LIST, OnTestCustomList)
  33.     ON_COMMAND(IDM_TEST_SPIN_EDIT, OnTestSpinEdit)
  34. END_MESSAGE_MAP()
  35.  
  36. void CTestWindow::SetupMenus()
  37. {
  38.     if ((GetSystemMetrics(SM_PENWINDOWS)) == NULL)
  39.     {
  40.         CMenu* pMenu = GetMenu();
  41.         ASSERT(pMenu != NULL);
  42.         pMenu->EnableMenuItem(IDM_TEST_PENEDIT_CODE, MF_DISABLED|MF_GRAYED);
  43.         pMenu->EnableMenuItem(IDM_TEST_PENEDIT_TEMPLATE, MF_DISABLED|MF_GRAYED);
  44.         pMenu->EnableMenuItem(IDM_TEST_PENEDIT_FEATURES, MF_DISABLED|MF_GRAYED);
  45.     }
  46.     // do not test for spin control until the user tries it
  47.     // if the custom control DLL is not present, the test spin
  48.     //  control menu item will be disabled in 'OnTestSpinEdit'.
  49.  
  50.     // custom menu tests
  51.     AttachCustomMenu();
  52. }
  53.  
  54. void CTestWindow::OnExit()
  55. {
  56.     SendMessage(WM_CLOSE);
  57. }
  58.  
  59. void CTestWindow::OnAbout()
  60. {
  61.     CModalDialog dlg(IDD_ABOUT);
  62.     dlg.DoModal();
  63. }
  64.  
  65.  
  66. /////////////////////////////////////////////////////////////////////////////
  67. // Application class
  68.  
  69. class CTestApp : public CWinApp
  70. {
  71. protected:
  72.     CTestWindow m_window;
  73.         // instead of allocating a new main window, you can embed it
  74.         //   if you like
  75. public:
  76.     virtual BOOL InitInstance();
  77. };
  78.  
  79. CTestApp theTestApp;
  80.  
  81. BOOL CTestApp::InitInstance()
  82. {
  83.     if (!m_window.Create(NULL, "Control Test App",
  84.       WS_OVERLAPPEDWINDOW, CFrameWnd::rectDefault, NULL,
  85.       MAKEINTRESOURCE(AFX_IDI_STD_FRAME)/*menu*/))
  86.         return FALSE;
  87.  
  88.     m_pMainWnd = &m_window;
  89.     m_window.SetupMenus();
  90.     m_window.ShowWindow(m_nCmdShow);
  91.     return TRUE;
  92. }
  93.  
  94. void CTestWindow::PostNcDestroy()
  95. {
  96.     // don't delete this
  97. }
  98.  
  99. /////////////////////////////////////////////////////////////////////////////
  100.