OSDN Git Service

2011/11/13 0:09:22
[nlite/nlite.git] / nlite / nlite_mailframe.h
1 #pragma once
2
3 namespace nlite{
4         
5
6         
7         const static LPCTSTR NLITE_MAINWINDOW = _T("nlite");
8
9         class CNliteMainFrame : public CFrameWindowImpl<CNliteMainFrame>,
10                 /*public CUpdateUI<CNliteMainFrame>,*/public CMessageFilter, public CIdleHandler
11         {
12         public:
13
14                 typedef CFrameWindowImpl<CNliteMainFrame> baseWindow;
15
16                 // \83E\83B\83\93\83h\83E\83N\83\89\83X\96¼\81A\8b¤\92Ê\83\8a\83\\81[\83XID\81A\83X\83^\83C\83\8b\81A\94w\8ci\90F\82ð\93o\98^
17                 //DECLARE_FRAME_WND_CLASS_EX(NLITE_MAINWINDOW, IDC_NLITE,CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS, COLOR_WINDOW)
18                 //DECLARE_FRAME_WND_CLASS_EX(NLITE_MAINWINDOW, IDC_NLITE,CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS, COLOR_WINDOW)
19                 DECLARE_FRAME_WND_CLASS(NULL,IDC_NLITE);
20         private:
21                 CCommentView commentView;
22                 CStatusBarCtrl statusBar;
23
24         private:
25
26                 // \83\81\83b\83Z\81[\83W\83t\83B\83\8b\83^\8f\88\97\9d
27                 virtual BOOL PreTranslateMessage(MSG* pMsg){
28                         // \8aî\92ê\83N\83\89\83X\82ÌPreTranslateMessage\82ð\8cÄ\82Ñ\8fo\82·
29                         return CFrameWindowImpl<CNliteMainFrame>::PreTranslateMessage(pMsg);
30                 }
31
32                 // \83A\83C\83h\83\8b\8f\88\97\9d
33                 virtual BOOL OnIdle(){
34 //                      UIUpdateStatusBar();
35                         return FALSE;
36                 }
37
38
39         public:
40
41                 /*
42                 BEGIN_UPDATE_UI_MAP(CNliteMainFrame)
43                         // \83G\83\93\83g\83\8a\82È\82µ
44                 END_UPDATE_UI_MAP()
45                 */
46                 // \83\81\83b\83Z\81[\83W\83}\83b\83v
47                 BEGIN_MSG_MAP_EX(CNliteMainFrame)
48                         MSG_WM_CREATE(OnCreate)
49                         MSG_WM_DESTROY(OnDestroy)
50                         MSG_WM_SIZING(OnSizing)
51                         MESSAGE_HANDLER(WM_SIZE,OnSize);
52                         
53                         COMMAND_ID_HANDLER_EX(IDM_EXIT, OnMenuExit)
54                         COMMAND_ID_HANDLER_EX(IDM_ABOUT,OnMenuAbount)
55                         // CFrameWindowImpl\83N\83\89\83X\82Ö\83`\83F\81[\83\93
56 //                      CHAIN_MSG_MAP(CUpdateUI<CNliteMainFrame>)
57                         CHAIN_MSG_MAP(CFrameWindowImpl<CNliteMainFrame>)
58                 END_MSG_MAP()
59
60                 //\83T\83C\83Y\95Ï\8dX\92\86
61                 VOID OnSizing(UINT wParam,LPRECT lParam){
62
63                         RECT client;
64                         GetClientRect(&client);
65
66                         ChangeSize( _WTYPES_NS::CSize(client.right - client.left,client.bottom - client.top));
67
68                         
69                         
70                         return;
71
72                 }
73                 
74                 
75                 //\83T\83C\83Y\95Ï\8dX\8cã
76                 LRESULT OnSize(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL& bHandled){
77
78
79                         SIZE clientSize;
80                         clientSize.cx = LOWORD(lParam);
81                         clientSize.cy = HIWORD(lParam);
82                         ChangeSize(clientSize);
83
84                         bHandled = FALSE;
85                         
86                         
87
88                         return 0;
89                 }
90
91                 VOID ChangeSize(const SIZE& client);
92
93
94                 LRESULT OnCreate(LPCREATESTRUCT lpcs){
95                         // \83c\81[\83\8b\83o\81[\82ð\8dì\90¬
96                         //CreateSimpleToolBar();
97
98                         // \83X\83e\81[\83^\83X\83o\81[\82ð\8dì\90¬
99                         vcverify(CreateSimpleStatusBar(),TEXT("\83X\83e\81[\83^\83X\83o\81[\8dì\90¬\82É\8e¸\94s\82µ\82Ü\82µ\82½"));
100 //                      vcverify(UIAddStatusBar(m_hWndStatusBar),TEXT("\83X\83e\81[\83^\83X\83o\81[\93o\98^\82É\82µ\83b\83p\82µ\82Ü\82µ\82½"));
101                         commentView.Create(m_hWnd);
102                         
103
104                         
105                         
106                         
107                         // \83\81\83b\83Z\81[\83W\83\8b\81[\83v\82É\83\81\83b\83Z\81[\83W\83t\83B\83\8b\83^\82Æ\83A\83C\83h\83\8b\83n\83\93\83h\83\89\82ð\92Ç\89Á
108                         CMessageLoop* pLoop = _Module.GetMessageLoop();
109                         pLoop->AddMessageFilter(this);
110                         pLoop->AddIdleHandler(this);
111                         return 0;
112                 }
113
114
115                 
116                 VOID OnDestroy(){
117
118                         commentView.DestroyWindow();
119                         PostQuitMessage(0);
120                         return;
121                 }
122
123                 //\83\81\83j\83\85\81[\82©\82ç\83t\83@\83C\83\8b\82ð\8fI\97¹\82ð\91I\91ð
124                 void OnMenuExit(UINT uNotifyCode, int nID, HWND hWndCtl){
125                         PostMessage(WM_CLOSE);
126                 }
127
128                 //\83\81\83j\83\85\81[\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\83o\81[\83W\83\87\83\93\8fî\95ñ\95\\8e¦
129                 void OnMenuAbount(UINT uNotifyCode,int nID,HWND hWndCtl){
130                 
131
132                         appInfo->show();
133                 }
134         };
135
136         
137
138 }