source: trunk/src/advtabs/TrackerAddDialog.hpp @ 395

Revision 395, 1.6 KB checked in by Eoin, 13 years ago (diff)

Working of Hilight Edit control.

Line 
1
2//         Copyright Eóin O'Callaghan 2006 - 2008.
3// Distributed under the Boost Software License, Version 1.0.
4//    (See accompanying file LICENSE_1_0.txt or copy at
5//          http://www.boost.org/LICENSE_1_0.txt)
6
7#pragma once
8
9#include "DdxEx.hpp"
10
11class TrackerAddDialog :
12        public CDialogImpl<TrackerAddDialog>,
13    public CWinDataExchangeEx<TrackerAddDialog>
14{
15protected:
16        typedef TrackerAddDialog thisClass;
17        typedef CDialogImpl<TrackerAddDialog> baseClass;
18       
19public:
20        TrackerAddDialog(wstring title, hal::TrackerDetail& tracker) :
21                title_(title),
22                tracker_(tracker)
23        {}
24       
25        enum { IDD = IDD_TRACKEDIT };
26
27    BEGIN_MSG_MAP_EX(TrackerAddDialog)
28        MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
29                MSG_WM_CLOSE(OnClose)   
30                COMMAND_ID_HANDLER_EX(IDOK, OnOk)
31                COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel)
32    END_MSG_MAP()
33
34    BEGIN_DDX_MAP(TrackerAddDialog)
35                DDX_EX_STDWSTRING(IDC_TRACKER_EDIT_URL, tracker_.url);
36        DDX_INT(IDC_TRACKER_EDIT_TIER, tracker_.tier)
37    END_DDX_MAP()
38       
39        LRESULT OnInitDialog(...)
40        {
41                SetWindowText(title_.c_str());
42                CenterWindow();
43                BOOL retval =  DoDataExchange(false);
44               
45                return TRUE;
46        }
47       
48        void OnClose()
49        {
50                DoDataExchange(true);
51                EndDialog(0);
52        }
53
54        void OnCancel(...)
55        {
56                DoDataExchange(true);
57                EndDialog(0);
58        }
59
60        void OnOk(...)
61        {
62                DoDataExchange(true);
63                EndDialog(1);
64        }
65
66        BOOL PreTranslateMessage(MSG* pMsg)
67        {
68                return this->IsDialogMessage(pMsg);
69        }
70       
71        void onCancel(UINT, int, HWND hWnd)
72        {
73       
74        }
75
76private:
77        wstring title_;
78        hal::TrackerDetail& tracker_;
79};
Note: See TracBrowser for help on using the repository browser.