7 ///
\83E
\83B
\83\93\83h
\83E
\96¼
9 const static LPCTSTR NLITE_MAINWINDOW = TEXT("nlite");
14 ///
\83\81\83C
\83\93\83t
\83\8c\81[
\83\80\83N
\83\89\83X
16 class CNliteMainFrame : public CFrameWindowImpl<CNliteMainFrame>
17 ,public CUpdateUI<CNliteMainFrame>,public CMessageFilter, public CIdleHandler
26 struct LvnoSearchFunctional;
29 ///
\95ú
\91\97\94Ô
\8d\86\93ü
\97Í
\97p
31 class CSubLiveNoComboBox:public CWindowImpl<CEdit>{
32 friend CNliteMainFrame;
35 //
\8e\8b\92®
\97\9a\97ð
\95\
\8e¦
\97p
\83y
\83A
36 typedef std::pair<CNLiteString,CNLiteString> LiveInfo;
37 typedef std::list<LiveInfo> LiveInfoList;
40 CNliteMainFrame &self; //
\83\81\83C
\83\93\83t
\83\8c\81[
\83\80\83E
\83B
\83\93\83h
\83E
41 CComAutoCriticalSection cs; //
\83N
\83\8a\83e
\83B
\83J
\83\8b\83Z
\83N
\83V
\83\87\83\93\83I
\83u
\83W
\83F
\83N
\83g
42 BOOL untilConnectingFlag; //
\90Ú
\91±
\8f\88\97\9d\92\86\82©
\82Ì
\83t
\83\89\83O
\94»
\92è
43 LiveInfoList liveInfoList; //
\95ú
\91\97\97\9a\97ð
\8fî
\95ñ
47 ///
\83R
\83\93\83X
\83^
\83\89\83N
\83^
49 CSubLiveNoComboBox(CNliteMainFrame &in_self);
52 //
\83\81\83b
\83Z
\81[
\83W
\83\8b\81[
\83v
53 BEGIN_MSG_MAP_EX(CSubLiveNoComboBox)
54 MSG_WM_KEYDOWN(OnKeyDown)
60 ///
\95ú
\91\97\8fî
\95ñ
\92Ç
\89Á
62 VOID AddLiveInfo(CNicoLiveStream &stream,LvnoSearchFunctional &functional);
66 ///
\95ú
\91\97\94Ô
\8d\86\93ü
\97Í
\82ð
\8b\96\89Â
\82·
\82é
68 VOID AgreeInputLvNo();
73 ///
\83L
\81[
\89\9f\89º
\8e\9e\82Ì
\8f\88\97\9d
75 VOID OnKeyDown(TCHAR wParam, UINT upLParam,UINT loLParam);
82 struct LvnoSearchFunctional{
84 CNLiteString dispData;
86 LvnoSearchFunctional(LPCTSTR in_lvNo):lvNo(in_lvNo){}
88 bool operator()(CSubLiveNoComboBox::LiveInfo &listInfo){
89 return listInfo.second == lvNo;
96 ///
\83R
\83\81\83\93\83g
\8eó
\90M
101 friend CNliteMainFrame;
104 CNliteMainFrame &self;
110 ///
\83R
\83\93\83X
\83g
\83\89\83N
\83^
112 CLiveUserData(CNliteMainFrame &self);
116 ///
\90Ú
\91±
\8aJ
\8en
\8e\9e\8f\88\97\9d
121 ///
\83R
\83\81\83\93\83g
\8eó
\90M
\8aJ
\8en
\8e\9e\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N
\8f\88\97\9d
123 VOID OnChatReceveStart(CNicoLiveStream &stream);
127 ///1
\83R
\83\81\83\93\83g
\8eó
\90M
\82µ
\82½
\8e\9e\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N
\8f\88\97\9d
128 ///
\8eó
\90M
\82µ
\82½
\83R
\83\81\83\93\83g
\82ð
\83o
\83b
\83t
\83@
\82É
\8ai
\94[
130 VOID OnChatReceve(NicoLiveChat_P chat,UINT_PTR count);
134 ///
\83`
\83\83\83b
\83g
\8eó
\90M
\8am
\92è
\8e\9e\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N
\8f\88\97\9d
135 ///
\8eå
\82É
\8eó
\90M
\82µ
\82½
\83R
\83\81\83\93\83g
\82Ì
\95`
\89æ
\8f\88\97\9d\82ð
\8ds
\82¤
137 VOID OnChatReceveSettle(UINT_PTR commentCount,UINT_PTR commentCountSum);
140 ///
\83R
\83\81\83\93\83g
\91\97\90M
\8c\8b\89Ê
\8eó
\90M
\8e\9e\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N
\8f\88\97\9d
142 VOID OnChatSendResult(NicoLiveSendResultComment_P sendResult);
146 friend CSubLiveNoComboBox;
149 typedef CFrameWindowImpl<CNliteMainFrame> baseWindow;
151 //
\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^
152 DECLARE_FRAME_WND_CLASS(NLITE_MAINWINDOW, IDC_NLITE)
155 CCommentView commentView; //
\83R
\83\81\83\93\83g
\95\
\8e¦
\83E
\83B
\83\93\83h
\83E
156 CStatusBarCtrl statusBar; //
\83X
\83e
\81[
\83^
\83X
\83o
\81[
157 CLiveUserData userData; //
\83C
\83x
\83\93\83g
\83n
\83\93\83h
\83\89\97p
\83N
\83\89\83X
158 CSubLiveNoComboBox subLiveNoComboBox; //
\90¶
\95ú
\91\97\94Ô
\8d\86\93ü
\97Í
\97p
\83R
\83\93\83{
\83{
\83b
\83N
\83X(
\83T
\83u
\83N
\83\89\83X)
159 CCommentWriteWindow commentWriteWindow; //
\83R
\83\81\83\93\83g
\8f\91\82«
\8d\9e\82Ý
\97p
\83N
\83\89\83X
160 CTabCtrl tabctrl; //
\83^
\83u
\83R
\83\93\83g
\83\8d\81[
\83\8b
161 HFONT hTabFont; //
\83^
\83u
\83E
\83B
\83\93\83h
\83E
\97p
\82Ì
\83t
\83H
\83\93\83g
162 CComboBoxEx lvNoCombo; //
\90¶
\95ú
\91\97\94Ô
\8d\86\93ü
\97Í
\97p
\83R
\83\93\83{
\83{
\83b
\83N
\83X
163 INT_PTR statusBarHeight; //
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\8d\82\82³
164 INT_PTR toolBarHeight; //
\83c
\81[
\83\8b\83o
\81[
\82Ì
\8d\82\82³
165 CNicoVideoAuth nicoVideoAuth; //
\83j
\83R
\83j
\83R
\93®
\89æ
\94F
\8fØ
\97p
\83I
\83u
\83W
\83F
\83N
\83g
166 Property nliteProperty; //
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\83v
\83\8d\83p
\83e
\83B
167 CNicoLiveStream nicoLiveStream; //
\83j
\83R
\83j
\83R
\90¶
\95ú
\91\97\83I
\83u
\83W
\83F
\83N
\83g
168 CMultiPaneStatusBarCtrl m_hStatusBar; //
\83}
\83\8b\83`
\83y
\83C
\83\93\83X
\83e
\81[
\83^
\83X
\83o
\81[
169 CProgressBarCtrl m_progresBar; //
\83v
\83\8d\83O
\83\8c\83X
\83o
\81[
171 //
\83\81\83b
\83Z
\81[
\83W
\83t
\83B
\83\8b\83^
\8f\88\97\9d
172 virtual BOOL PreTranslateMessage(MSG* pMsg);
174 //
\83A
\83C
\83h
\83\8b\8f\88\97\9d
175 virtual BOOL OnIdle();
183 ///
\83R
\83\93\83X
\83g
\83\89\83N
\83^
189 ///
\83f
\83X
\83g
\83\89\83N
\83^
195 BEGIN_UPDATE_UI_MAP(CNliteMainFrame)
196 //
\83G
\83\93\83g
\83\8a\82È
\82µ
199 //
\83\81\83b
\83Z
\81[
\83W
\83}
\83b
\83v
200 BEGIN_MSG_MAP_EX(CNliteMainFrame)
201 MSG_WM_CREATE(OnCreate)
202 MSG_WM_CLOSE(OnClose)
203 MSG_WM_DESTROY(OnDestroy)
204 MESSAGE_HANDLER(WM_SIZE,OnSize)
205 MSG_WM_SIZING(OnSizing)
206 MESSAGE_HANDLER(WM_SETCURSOR,OnSetCursor)
207 COMMAND_ID_HANDLER_EX(IDM_EXIT, OnMenuExit)
208 COMMAND_ID_HANDLER_EX(IDM_ABOUT,OnMenuAbount)
209 COMMAND_ID_HANDLER_EX(IDM_COOKIE,OnCookie)
210 COMMAND_CODE_HANDLER_EX(CBN_SELCHANGE,OnCbSelChange)
211 NOTIFY_HANDLER(ATL_IDW_TOOLBAR,RBN_HEIGHTCHANGE,OnRbnHeightChange)
212 // CFrameWindowImpl
\83N
\83\89\83X
\82Ö
\83`
\83F
\81[
\83\93
213 CHAIN_MSG_MAP(CFrameWindowImpl<CNliteMainFrame>)
218 ///
\8f\89\8aú
\89»
\8f\88\97\9d
220 VOID Initialize(LPCTSTR localAppDataPath);
223 ///
\8fI
\97¹
\8f\88\97\9d
229 ///
\97á
\8aO
\94
\90¶
\8e\9e\82Ì
\8f\88\97\9d
236 ///
\83E
\83B
\83\93\83h
\83E
\82ð
\95Â
\82¶
\82é
\82Æ
\82«
\82Ì
\8f\88\97\9d
241 ///
\83E
\83B
\83\93\83h
\83E
\94j
\8aü
\8e\9e\82Ì
\8f\88\97\9d
246 ///
\83c
\81[
\83\8b\83o
\81[
\8d\82\82³
\95Ï
\8dX
248 LRESULT OnRbnHeightChange(INT_PTR wParam,LPNMHDR lParam,BOOL &bHandled);
252 ///
\83T
\83C
\83Y
\95Ï
\8dX
\92\86\8f\88\97\9d
254 VOID OnSizing(UINT wParam,LPRECT lParam);
257 ///
\83T
\83C
\83Y
\95Ï
\8dX
\8cã
259 LRESULT OnSize(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL& bHandled);
263 ///
\8eq
\83E
\83B
\83\93\83h
\83E
\83T
\83C
\83Y
\95Ï
\8dX
\8f\88\97\9d
265 VOID ChangeSize(const SIZE& client);
268 ///
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82Ì
\91I
\91ð
\8d\80\96Ú
\82ª
\95Ï
\8dX
\82³
\82ê
\82½
270 LRESULT OnCbSelChange(UINT hiWparam,int loWparam,HWND lParam);
273 ///
\83E
\83B
\83\93\83h
\83E
\8dì
\90¬
\8e\9e\82Ì
\8f\88\97\9d
275 LRESULT OnCreate(LPCREATESTRUCT lpcs);
279 ///
\83j
\83R
\90¶
\95ú
\91\97\82É
\90Ú
\91±
281 BOOL ConnectNicoLive(LPCTSTR liveNo);
285 ///
\83}
\83E
\83X
\83J
\81[
\83\
\83\8b\95Ï
\8dX
\8f\88\97\9d
287 LRESULT OnSetCursor(LRESULT msg,WPARAM wParam,LPARAM lParam,BOOL &bHandled);
290 //
\83\81\83j
\83\85\81[
\82©
\82ç
\83t
\83@
\83C
\83\8b\82ð
\8fI
\97¹
\82ð
\91I
\91ð
291 VOID OnMenuExit(UINT uNotifyCode, int nID, HWND hWndCtl);
293 //
\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¦
294 VOID OnMenuAbount(UINT uNotifyCode,int nID,HWND hWndCtl);
296 //
\83N
\83b
\83L
\81[
\82Ì
\90Ý
\92è
297 VOID OnCookie(UINT uNotifyCode,int nID,HWND hWndCtl);
300 ///CNicoLiveStream
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N
\97p
\8aÖ
\90\94
302 static NLIB_RESULT LiveCallBack(NICOLIVE_EVENT eventType,NicoLiveStream_P pNicoLiveStream,LPVOID option,NICOLIVE_PARAM param1,NICOLIVE_PARAM param2);