OSDN Git Service

20021009版ソース
[seraphyscrtools/SeraphyScriptTools.git] / Form.h
1 // Form.h : CForm \82Ì\90é\8c¾
2
3 #ifndef __FORM_H_
4 #define __FORM_H_
5
6 #include <list>
7 using namespace std;
8
9 #include "resource.h"       // \83\81\83C\83\93 \83V\83\93\83{\83\8b
10 #include "control.h"
11
12 /////////////////////////////////////////////////////////////////////////////
13 // CForm
14 class ATL_NO_VTABLE CForm : 
15         public CComObjectRootEx<CComSingleThreadModel>,
16 //      public CComCoClass<CForm, &CLSID_Form>,
17         public ISupportErrorInfo,
18         public IConnectionPointContainerImpl<CForm>,
19         public IDispatchImpl<IForm, &IID_IForm, &LIBID_SERAPHYSCRIPTTOOLSLib>
20 {
21 public:
22         CForm()
23         {
24                 m_hOwner = NULL;
25                 m_dwControlColor = ::GetSysColor(COLOR_WINDOW);
26                 m_hBrushControlBkColor = CreateSolidBrush(m_dwControlColor);
27                 ClearControls(); // \8f\89\8aú\89»\82·\82é
28                 // \83f\83B\83t\83H\83\8b\83g\82Ì\83E\83B\83\93\83h\83E\82Ì\83T\83C\83Y
29                 m_nWindowWidth  = 0;
30                 m_nWindowHeight = 0;
31         }
32         void FinalRelease();
33
34 //DECLARE_REGISTRY_RESOURCEID(IDR_FORM)
35
36 DECLARE_PROTECT_FINAL_CONSTRUCT()
37
38 BEGIN_COM_MAP(CForm)
39         COM_INTERFACE_ENTRY(IForm)
40         COM_INTERFACE_ENTRY(IDispatch)
41         COM_INTERFACE_ENTRY(ISupportErrorInfo)
42         COM_INTERFACE_ENTRY(IConnectionPointContainer)
43 END_COM_MAP()
44 BEGIN_CONNECTION_POINT_MAP(CForm)
45 END_CONNECTION_POINT_MAP()
46
47
48 // ISupportsErrorInfo
49         STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
50
51 // IForm
52 public:
53         HWND GetAttachedOwner();
54         BOOL FindControlEventName(int eventcode,BSTR* pEventName);
55         HBRUSH GetControlColorBrush();
56         DWORD GetControlColor();
57         STDMETHOD(get_ControlColor)(/*[out, retval]*/ long *pVal);
58         STDMETHOD(put_ControlColor)(/*[in]*/ long newVal);
59         STDMETHOD(CheckListView)(/*[in,optional]*/VARIANT colum,/*[in,optional]*/VARIANT width,/*[in,optional]*/VARIANT height,/*[out,retval]*/VARIANT* pvarUnk);
60         STDMETHOD(EditListView)(/*[in,optional]*/VARIANT colum,/*[in,optional]*/VARIANT width,/*[in,optional]*/VARIANT height,/*[out,retval]*/VARIANT* pvarUnk);
61         STDMETHOD(ListView)(/*[in,optional]*/VARIANT colum,/*[in,optional]*/VARIANT width,/*[in,optional]*/VARIANT height,/*[out,retval]*/VARIANT* pvarUnk);
62         STDMETHOD(TreeView)(/*[in,optional]*/VARIANT width,/*[in,optional]*/VARIANT height,/*[out,retval]*/VARIANT* pvarUnk);
63         STDMETHOD(DropdownEdit)(/*[in,optional]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[in,optional]*/VARIANT height,/*[out,retval]*/VARIANT* pvarUnk);
64         STDMETHOD(DropdownList)(/*[in,optional]*/VARIANT width,/*[in,optional]*/VARIANT height,/*[out,retval]*/VARIANT* pvarUnk);
65         STDMETHOD(MultiListBox)(/*[in,optional]*/VARIANT width,/*[in,optional]*/VARIANT height,/*[out,retval]*/VARIANT* pvarUnk);
66         STDMETHOD(ListBox)(/*[in,optional]*/VARIANT width,/*[in,optinal]*/VARIANT height,/*[out,retval]*/VARIANT* pvarUnk);
67         void EnableAllControl(BOOL mode);
68         STDMETHOD(get_RightMargin)(/*[out, retval]*/ short *pVal);
69         STDMETHOD(put_RightMargin)(/*[in]*/ short newVal);
70         void SetWindowSize(int width,int height,BOOL bThick);
71         void DetachOwner();
72         void AttachOwner(HWND hOwner);
73         STDMETHOD(get_Control)(/*[in]*/VARIANT varNum, /*[out, retval]*/ VARIANT *pVal);
74         STDMETHOD(SetControlFont)(/*[in]*/VARIANT fontname,/*[in]*/VARIANT fontsize);
75         STDMETHOD(ControlUseStaticEdge)(/*[in]*/VARIANT mode);
76         STDMETHOD(StatusLabel)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[in,optional]*/VARIANT height,/*[out,retval]*/VARIANT* pvarUnk);
77         STDMETHOD(PushRadioButton)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[out,retval]*/VARIANT* pvarUnk);
78         STDMETHOD(PushCheckButton)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[out,retval]*/VARIANT* pvarUnk);
79         STDMETHOD(CheckBox3state)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[out,retval]*/VARIANT* pvarUnk);
80         STDMETHOD(ReadonlyEdit)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[in,optional]*/VARIANT height,/*[out,retval]*/VARIANT* punkVal);
81         STDMETHOD(PasswordEdit)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[out,retval]*/VARIANT* pvarUnk);
82         STDMETHOD(ControlPad)(/*[in]*/VARIANT width,/*[in,optional]*/VARIANT height);
83         STDMETHOD(RadioButton)(/*[in]*/VARIANT text,/*[in]*/VARIANT width,/*[out,retval]*/VARIANT* pvarUnk);
84         STDMETHOD(ControlGroup)();
85         STDMETHOD(ControlBreak)();
86         STDMETHOD(get_LeftMargin)(/*[out, retval]*/ short *pVal);
87         STDMETHOD(put_LeftMargin)(/*[in]*/ short newVal);
88         STDMETHOD(ClearControls)();
89         STDMETHOD(Edit)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[in,optional]*/VARIANT height,/*[out,retval]*/VARIANT* pvarUnk);
90         STDMETHOD(CheckBox)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[out,retval]*/VARIANT* pvarUnk);
91         STDMETHOD(Button)(/*[in]*/VARIANT text,/*[in]*/VARIANT width,/*[out,retval]*/ VARIANT *pvarUnk);
92         STDMETHOD(Label)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[out,retval]*/VARIANT* pvarUnk);
93 protected:
94         CControl* CreateControlCore(VARIANT& text,VARIANT& width,VARIANT& height,VARIANT* pvarUnk,DWORD extstyle,DWORD style,DWORD afterstyle,LPCSTR classname);
95         list<CComObject<CControl>*> m_lstControl;
96         BOOL m_bControlUseStaticEdge;
97         BOOL m_bControlNextIsGroupHead;
98         int m_nCommandID;
99         int m_nControlNextY;
100         int m_nControlFontSize;
101         int m_nControlNextX;
102         int m_nControlLeftMargin;
103         int m_nControlRightMargin;
104         HFONT m_hControlFont;
105         int m_nControlNextY0;
106         HWND m_hOwner;
107         int m_nWindowWidth;
108         int m_nWindowHeight;
109         DWORD m_dwControlColor;
110         HBRUSH m_hBrushControlBkColor;
111 };
112
113 #endif //__FORM_H_