tagging release
[dasher.git] / Src / Win32 / ModuleSettings.h
blob1ff8facc7dcfd6014778421684508bf0c4230076
1 //#ifndef __ModuleSettings_h__
2 //#define __ModuleSettings_h__
4 #include "../DasherCore/DasherInterfaceBase.h"
5 #include "ModuleControl.h"
7 #include <atlbase.h>
8 #include <atlwin.h>
9 #include <string>
11 extern CONST UINT WM_MS_CLOSE;
12 #define _WM_MS_CLOSE (LPCWSTR)"wm_ms_close"
14 class CModuleSettings : public CWindowImpl<CModuleSettings> {
15 public:
16 CModuleSettings(const std::string &strModuleName, SModuleSettings *pSettings, int iCount, CDasherInterfaceBase *pInterface);
17 ~CModuleSettings();
19 void Create(HWND hWndParent, ATL::_U_RECT rect);
21 DECLARE_WND_CLASS(NULL);
23 BEGIN_MSG_MAP(CModuleSettings)
24 MESSAGE_HANDLER(WM_COMMAND, OnCommand)
25 MESSAGE_HANDLER(WM_PAINT, OnPaint)
26 MESSAGE_HANDLER(WM_SIZE, OnSize)
27 END_MSG_MAP()
29 LRESULT OnCommand(UINT message, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
30 LRESULT OnPaint(UINT message, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
31 LRESULT OnSize(UINT message, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
33 virtual void OnFinalMessage(HWND hWnd) {
34 delete this;
37 private:
38 int m_iCount;
39 CModuleControl **m_pControls;
40 std::string m_strModuleName;
42 HWND m_hParent;
44 HWND m_hOk;
45 HWND m_hCancel;
47 CDasherInterfaceBase *m_pInterface;
50 //#endif