Main Page Namespace List Class Hierarchy Alphabetical List Data Structures File List Namespace Members Data Fields Globals

# SDKConsolDlg.cpp

Go to the documentation of this file.

    00001 // SDKConsolDlg.cpp : fichier d'implémentation
    00002 //
    00003
    00004 #include "stdafx.h"
    00005 #include "SDKConsol.h"
    00006 #include "SDKConsolDlg.h"
    00007
    00008 #ifdef _DEBUG
    00009 #define new DEBUG_NEW
    00010 #endif
    00011
    00012
    00013 // boîte de dialogue CAboutDlg utilisée pour la boîte de dialogue 'À propos de' pour votre application
    00014
    00015 class CAboutDlg : public CDialog
    00016 {
    00017 public:
    00018         CAboutDlg();
    00019
    00020 // Données de la boîte de dialogue
    00021         enum { IDD = IDD_ABOUTBOX };
    00022
    00023         protected:
    00024         virtual void DoDataExchange(CDataExchange* pDX);    // prise en charge de DDX/DDV
    00025
    00026 // Implémentation
    00027 protected:
    00028         DECLARE_MESSAGE_MAP()
    00029 };
    00030
    00031 CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
    00032 {
    00033 }
    00034
    00035 void CAboutDlg::DoDataExchange(CDataExchange* pDX)
    00036 {
    00037         CDialog::DoDataExchange(pDX);
    00038 }
    00039
    00040 BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
    00041 END_MESSAGE_MAP()
    00042
    00043
    00044 // boîte de dialogue CSDKConsolDlg
    00045
    00046
    00047
    00048 CSDKConsolDlg::CSDKConsolDlg(CWnd* pParent /*=NULL*/)
    00049         : CDialog(CSDKConsolDlg::IDD, pParent)
    00050 {
    00051         m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    00052 }
    00053
    00054 void CSDKConsolDlg::DoDataExchange(CDataExchange* pDX)
    00055 {
    00056         CDialog::DoDataExchange(pDX);
    00057 }
    00058
    00059 BEGIN_MESSAGE_MAP(CSDKConsolDlg, CDialog)
    00060         ON_WM_SYSCOMMAND()
    00061         ON_WM_PAINT()
    00062         ON_WM_QUERYDRAGICON()
    00063         //}}AFX_MSG_MAP
    00064 END_MESSAGE_MAP()
    00065
    00066
    00067 // gestionnaires de messages pour CSDKConsolDlg
    00068
    00069 BOOL CSDKConsolDlg::OnInitDialog()
    00070 {
    00071         CDialog::OnInitDialog();
    00072
    00073         // Ajouter l'élément de menu "À propos de..." au menu Système.
    00074
    00075         // IDM_ABOUTBOX doit se trouver dans la plage des commandes système.
    00076         ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    00077         ASSERT(IDM_ABOUTBOX < 0xF000);
    00078
    00079         CMenu* pSysMenu = GetSystemMenu(FALSE);
    00080         if (pSysMenu != NULL)
    00081         {
    00082                 CString strAboutMenu;
    00083                 strAboutMenu.LoadString(IDS_ABOUTBOX);
    00084                 if (!strAboutMenu.IsEmpty())
    00085                 {
    00086                         pSysMenu->AppendMenu(MF_SEPARATOR);
    00087                         pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    00088                 }
    00089         }
    00090
    00091         // Définir l'icône de cette boîte de dialogue. L'infrastructure effectue cela automatiquement
    00092         //  lorsque la fenêtre principale de l'application n'est pas une boîte de dialogue
    00093         SetIcon(m_hIcon, TRUE);                 // Définir une grande icône
    00094         SetIcon(m_hIcon, FALSE);                // Définir une petite icône
    00095
    00096         // TODO : ajoutez ici une initialisation supplémentaire
    00097
    00098         return TRUE;  // retourner TRUE, sauf si vous avez défini le focus sur un contrôle
    00099 }
    00100
    00101 void CSDKConsolDlg::OnSysCommand(UINT nID, LPARAM lParam)
    00102 {
    00103         if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    00104         {
    00105                 CAboutDlg dlgAbout;
    00106                 dlgAbout.DoModal();
    00107         }
    00108         else
    00109         {
    00110                 CDialog::OnSysCommand(nID, lParam);
    00111         }
    00112 }
    00113
    00114 // Si vous ajoutez un bouton Réduire à votre boîte de dialogue, vous devez utiliser le code ci-dessous
    00115 //  pour dessiner l'icône. Pour les applications MFC utilisant le modèle Document/Vue,
    00116 //  cela est fait automatiquement par l'infrastructure.
    00117
    00118 void CSDKConsolDlg::OnPaint()
    00119 {
    00120         if (IsIconic())
    00121         {
    00122                 CPaintDC dc(this); // contexte de périphérique pour la peinture
    00123
    00124                 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
    00125
    00126                 // Centrer l'icône dans le rectangle client
    00127                 int cxIcon = GetSystemMetrics(SM_CXICON);
    00128                 int cyIcon = GetSystemMetrics(SM_CYICON);
    00129                 CRect rect;
    00130                 GetClientRect(&rect);
    00131                 int x = (rect.Width() - cxIcon + 1) / 2;
    00132                 int y = (rect.Height() - cyIcon + 1) / 2;
    00133
    00134                 // Dessiner l'icône
    00135                 dc.DrawIcon(x, y, m_hIcon);
    00136         }
    00137         else
    00138         {
    00139                 CDialog::OnPaint();
    00140         }
    00141 }
    00142
    00143 // Le système appelle cette fonction pour obtenir le curseur à afficher lorsque l'utilisateur fait glisser
    00144 //  la fenêtre réduite.
    00145 HCURSOR CSDKConsolDlg::OnQueryDragIcon()
    00146 {
    00147         return static_cast<HCURSOR>(m_hIcon);
    00148 }