D:/Zythum/DinoKod/MapEditor/BrushLevelDialog.cpp

00001 // BrushLevelDialog.cpp : fichier d'implémentation
00002 //
00003 
00004 #include "stdafx.h"
00005 #include "MapEditor.h"
00006 #include "BrushLevelDialog.h"
00007 
00008 
00009 // Boîte de dialogue CBrushLevelDialog
00010 
00011 IMPLEMENT_DYNAMIC(CBrushLevelDialog, CDialog)
00012 CBrushLevelDialog::CBrushLevelDialog(CWnd* pParent /*=NULL*/)
00013         : CDialog(CBrushLevelDialog::IDD, pParent)
00014 {
00015 }
00016 
00017 CBrushLevelDialog::~CBrushLevelDialog()
00018 {
00019 }
00020 
00021 void CBrushLevelDialog::DoDataExchange(CDataExchange* pDX)
00022 {
00023         CDialog::DoDataExchange(pDX);
00024         DDX_Control(pDX, IDC_SPIN_SIZE, m_SpinSize);
00025         DDX_Control(pDX, IDC_RADIO_SHAPECIRCLE, m_CheckCircle);
00026         DDX_Control(pDX, IDC_RADIO_SHAPESQUARE, m_CheckSquare);
00027 }
00028 
00029 
00030 BEGIN_MESSAGE_MAP(CBrushLevelDialog, CDialog)
00031         ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_SIZE, OnDeltaposSpinSize)
00032         ON_WM_PAINT()
00033         ON_BN_CLICKED(IDC_RADIO_SHAPECIRCLE, OnBnClickedRadioShapecircle)
00034         ON_BN_CLICKED(IDC_RADIO_SHAPESQUARE, OnBnClickedRadioShapesquare)
00035         ON_EN_CHANGE(IDC_EDIT_SIZE, OnEnChangeEditSize)
00036         ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_SPIN_SIZE, OnNMReleasedcaptureSpinSize)
00037 END_MESSAGE_MAP()
00038 
00039 
00040 // Gestionnaires de messages CBrushLevelDialog
00041 
00042 BOOL CBrushLevelDialog::OnInitDialog()
00043 {
00044         CDialog::OnInitDialog();
00045 
00046         m_SpinSize.SetPos( 5 );
00047         m_SpinSize.SetRange32( 1, 100 );
00048         m_CheckSquare.SetCheck( BST_CHECKED );
00049         m_CheckSquare.EnableWindow( FALSE );
00050         m_CheckCircle.EnableWindow( FALSE );
00051 
00052         return TRUE;  // return TRUE unless you set the focus to a control
00053         // EXCEPTION : les pages de propriétés OCX devraient retourner FALSE
00054 }
00055 
00056 void CBrushLevelDialog::OnOK()
00057 {
00058         // TODO : ajoutez ici votre code spécialisé et/ou l'appel de la classe de base
00059 
00060         //CDialog::OnOK();
00061 }
00062 
00063 void CBrushLevelDialog::OnCancel()
00064 {
00065         // TODO : ajoutez ici votre code spécialisé et/ou l'appel de la classe de base
00066         //CDialog::OnCancel();
00067         ShowWindow( SW_HIDE );
00068 }
00069 
00070 void CBrushLevelDialog::OnDeltaposSpinSize(NMHDR *pNMHDR, LRESULT *pResult)
00071 {
00072         LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00073         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
00074         *pResult = 0;
00075 
00076         RedrawWindow();
00077 }
00078 
00079 void CBrushLevelDialog::OnPaint()
00080 {
00081         CPaintDC dc(this); // device context for painting
00082         // TODO : ajoutez ici le code de votre gestionnaire de messages
00083         // N'appelez pas CDialog::OnPaint() pour la peinture des messages
00084 
00085         CWnd*   pWnd = GetDlgItem( IDC_FRAME_BRUSH );
00086         CRect   FrameRect;
00087 
00088         pWnd->GetClientRect( &FrameRect );
00089 
00090         CRect   FillRect;
00091         CBrush  Brush( RGB( 20, 20, 20 ) );
00092         CPen    Pen( PS_SOLID, 0, RGB( 20, 20, 20 ) );
00093         CDC*    pDC = pWnd->GetDC();
00094         
00095         FillRect.left   = FrameRect.right / 2 - m_SpinSize.GetPos();
00096         FillRect.top    = FrameRect.bottom / 2 - m_SpinSize.GetPos();
00097         FillRect.right  = FrameRect.right / 2 + m_SpinSize.GetPos();
00098         FillRect.bottom = FrameRect.bottom / 2 + m_SpinSize.GetPos();
00099 
00100         pDC->SelectObject( &Brush );
00101         pDC->SelectObject( &Pen );
00102 
00103         if( m_CheckCircle.GetCheck() == BST_CHECKED )
00104         {
00105                 pDC->Ellipse( FillRect );
00106         }
00107         else
00108         {
00109                 pDC->FillRect( FillRect, &Brush );
00110         }
00111 
00112         pWnd->ReleaseDC( pDC );
00113 }
00114 
00115 void CBrushLevelDialog::OnBnClickedRadioShapecircle()
00116 {
00117         RedrawWindow();
00118 }
00119 
00120 void CBrushLevelDialog::OnBnClickedRadioShapesquare()
00121 {
00122         RedrawWindow();
00123 }
00124 
00125 void CBrushLevelDialog::OnEnChangeEditSize()
00126 {
00127         // TODO :  S'il s'agit d'un contrôle RICHEDIT, le contrôle
00128         // n'enverra la notification que si vous substituez la fonction CDialog::OnInitDialog()
00129         // et l'appel CRichEditCtrl().SetEventMask()
00130         // par l'indicateur ENM_CHANGE assorti de l'opérateur OR dans le masque.
00131 
00132         // TODO :  Ajoutez ici le code de votre gestionnaire de notification de contrôle
00133         RedrawWindow();
00134 }
00135 
00136 void CBrushLevelDialog::OnNMReleasedcaptureSpinSize(NMHDR *pNMHDR, LRESULT *pResult)
00137 {
00138         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
00139         *pResult = 0;
00140 
00141         RedrawWindow();
00142 }

Generated on Sun Mar 25 20:02:12 2007 for Zythum Project by  doxygen 1.5.1-p1