home *** CD-ROM | disk | FTP | other *** search
/ Delphi Anthology / aDELPHI.iso / ActiveX / THBResize.ActiveX.v2.0.Win9xNT.Incl.Keymaker-CORE / data1.cab / Example_Files / VcDemo1 / VcDemo1Dlg.cpp < prev    next >
C/C++ Source or Header  |  1999-10-24  |  3KB  |  124 lines

  1. // VcDemo1Dlg.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "VcDemo1.h"
  6. #include "VcDemo1Dlg.h"
  7.  
  8. #include "DialogGeneral.h"
  9. #include "DialogDemo1.h"
  10. #include "DialogNoFontResize.h"
  11.  
  12. #ifdef _DEBUG
  13. #define new DEBUG_NEW
  14. #undef THIS_FILE
  15. static char THIS_FILE[] = __FILE__;
  16. #endif
  17.  
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CVcDemo1Dlg dialog
  20.  
  21. CVcDemo1Dlg::CVcDemo1Dlg(CWnd* pParent /*=NULL*/)
  22.     : CDialog(CVcDemo1Dlg::IDD, pParent)
  23. {
  24.     //{{AFX_DATA_INIT(CVcDemo1Dlg)
  25.         // NOTE: the ClassWizard will add member initialization here
  26.     //}}AFX_DATA_INIT
  27.     // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
  28.     m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  29. }
  30.  
  31. void CVcDemo1Dlg::DoDataExchange(CDataExchange* pDX)
  32. {
  33.     CDialog::DoDataExchange(pDX);
  34.     //{{AFX_DATA_MAP(CVcDemo1Dlg)
  35.     DDX_Control(pDX, IDC_THBRESIZE3, m_THBResize);
  36.     //}}AFX_DATA_MAP
  37. }
  38.  
  39. BEGIN_MESSAGE_MAP(CVcDemo1Dlg, CDialog)
  40.     //{{AFX_MSG_MAP(CVcDemo1Dlg)
  41.     ON_WM_PAINT()
  42.     ON_WM_QUERYDRAGICON()
  43.     ON_BN_CLICKED(IDC_BUTGENERAL, OnButGeneral)
  44.     ON_BN_CLICKED(IDC_BUTDEMO1, OnButDemo1)
  45.     ON_BN_CLICKED(IDC_BUTNOFONTRESIZE, OnButNoFontResize)
  46.     //}}AFX_MSG_MAP
  47. END_MESSAGE_MAP()
  48.  
  49. /////////////////////////////////////////////////////////////////////////////
  50. // CVcDemo1Dlg message handlers
  51.  
  52. BOOL CVcDemo1Dlg::OnInitDialog()
  53. {
  54.     CDialog::OnInitDialog();
  55.  
  56.     // Set the icon for this dialog.  The framework does this automatically
  57.     //  when the application's main window is not a dialog
  58.     SetIcon(m_hIcon, TRUE);            // Set big icon
  59.     SetIcon(m_hIcon, FALSE);        // Set small icon
  60.     
  61.     // TODO: Add extra initialization here
  62.     m_THBResize.SetHWnd((long)this->GetSafeHwnd());
  63.     
  64.     return TRUE;  // return TRUE  unless you set the focus to a control
  65. }
  66.  
  67. // If you add a minimize button to your dialog, you will need the code below
  68. //  to draw the icon.  For MFC applications using the document/view model,
  69. //  this is automatically done for you by the framework.
  70.  
  71. void CVcDemo1Dlg::OnPaint() 
  72. {
  73.     if (IsIconic())
  74.     {
  75.         CPaintDC dc(this); // device context for painting
  76.  
  77.         SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
  78.  
  79.         // Center icon in client rectangle
  80.         int cxIcon = GetSystemMetrics(SM_CXICON);
  81.         int cyIcon = GetSystemMetrics(SM_CYICON);
  82.         CRect rect;
  83.         GetClientRect(&rect);
  84.         int x = (rect.Width() - cxIcon + 1) / 2;
  85.         int y = (rect.Height() - cyIcon + 1) / 2;
  86.  
  87.         // Draw the icon
  88.         dc.DrawIcon(x, y, m_hIcon);
  89.     }
  90.     else
  91.     {
  92.         CDialog::OnPaint();
  93.     }
  94. }
  95.  
  96. // The system calls this to obtain the cursor to display while the user drags
  97. //  the minimized window.
  98. HCURSOR CVcDemo1Dlg::OnQueryDragIcon()
  99. {
  100.     return (HCURSOR) m_hIcon;
  101. }
  102.  
  103. void CVcDemo1Dlg::OnButGeneral() 
  104. {
  105.     // TODO: Add your control notification handler code here
  106.     CDialogGeneral dg;
  107.     dg.DoModal();
  108. }
  109.  
  110. void CVcDemo1Dlg::OnButDemo1() 
  111. {
  112.     // TODO: Add your control notification handler code here
  113.     CDialogDemo1 dg;
  114.     dg.DoModal();
  115.     
  116. }
  117.  
  118. void CVcDemo1Dlg::OnButNoFontResize() 
  119. {
  120.     // TODO: Add your control notification handler code here
  121.     CDialogNoFontResize dg;
  122.     dg.DoModal();    
  123. }
  124.