Visual studio 2005 thinks that long long int is 64 bit. The difference between
[dasher.git] / Src / Win32 / ModuleControl.h
blob58e4bba4b2b83b112a16aef026d5d15e4d5db131
1 #ifndef __ModuleControl_h__
2 #define __ModuleControl_h__
4 #include "../Common/WinCommon.h"
5 #include "../DasherCore/DasherInterfaceBase.h"
7 #include <atlbase.h>
8 #include <atlwin.h>
9 #include <string>
11 class CModuleControl : public CWindowImpl<CModuleControl> {
12 public:
13 CModuleControl(SModuleSettings *pSetting);
15 DECLARE_WND_SUPERCLASS(NULL, L"STATIC")
17 BEGIN_MSG_MAP(CModuleControl)
18 MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
19 MESSAGE_HANDLER(WM_HSCROLL, OnScroll)
20 END_MSG_MAP()
22 virtual LRESULT OnNotify(UINT message, WPARAM wParam, LPARAM lParam, BOOL& bHandled) {
23 bHandled = false;
24 return 0;
27 virtual LRESULT OnScroll(UINT message, WPARAM wParam, LPARAM lParam, BOOL& bHandled) {
28 bHandled = false;
29 return 0;
30 };
32 void Create(HWND hParent);
33 void Layout(RECT *pRect);
35 // Abstract members to be implemented by descendents
36 virtual int GetHeightRequest() = 0;
37 virtual void Initialise(CDasherInterfaceBase *pInterface) = 0;
38 virtual void Apply(CDasherInterfaceBase *pInterface) = 0;
39 virtual void CreateChild(HWND hParent) = 0;
40 virtual void LayoutChild(RECT &sRect) = 0;
42 protected:
43 HWND m_hParent;
44 std::wstring m_strCaption;
46 int m_iId;
47 int m_iMin;
48 int m_iMax;
49 int m_iDivisor;
50 int m_iStep;
52 HWND m_hWndCaption;
55 #endif