7 ///
\83E
\83B
\83\93\83h
\83E
\96¼
9 const static LPCTSTR NLITE_MAINWINDOW = TEXT("nlite");
12 ///
\83E
\83B
\83\93\83h
\83E
\8dÅ
\92á
\83T
\83C
\83Y
14 const static SIZE lowestFrameSize = {300,300};
17 ///
\83\81\83C
\83\93\83t
\83\8c\81[
\83\80\83N
\83\89\83X
19 class CNliteMainFrame : public CFrameWindowImpl<CNliteMainFrame>,
20 public CUpdateUI<CNliteMainFrame>,public CMessageFilter, public CIdleHandler
27 IDC_COMBO_REBAR = 301,
34 ///
\95ú
\91\97\94Ô
\8d\86\93ü
\97Í
\97p
36 class CSubLiveNoComboBox:public CWindowImpl<CEdit>{
41 CNliteMainFrame &self; //
\83\81\83C
\83\93\83t
\83\8c\81[
\83\80\83E
\83B
\83\93\83h
\83E
42 CComAutoCriticalSection cs; //
\83N
\83\8a\83e
\83B
\83J
\83\8b\83Z
\83N
\83V
\83\87\83\93\83I
\83u
\83W
\83F
\83N
\83g
43 BOOL untilConnectingFlag; //
\90Ú
\91±
\8f\88\97\9d\92\86\82©
\82Ì
\83t
\83\89\83O
\94»
\92è
48 ///
\83R
\83\93\83X
\83^
\83\89\83N
\83^
50 CSubLiveNoComboBox(CNliteMainFrame &in_self);
53 //
\83\81\83b
\83Z
\81[
\83W
\83\8b\81[
\83v
54 BEGIN_MSG_MAP_EX(CSubLiveNoComboBox)
55 MSG_WM_KEYDOWN(OnKeyDown)
60 ///
\83L
\81[
\89\9f\89º
\8e\9e\82Ì
\8f\88\97\9d
62 VOID OnKeyDown(TCHAR wParam, UINT upLParam,UINT loLParam);
65 ///
\95ú
\91\97\94Ô
\8d\86\93ü
\97Í
\82ð
\8b\96\89Â
\82·
\82é
67 VOID AgreeInputLvNo();
75 ///
\83R
\83\81\83\93\83g
\8eó
\90M
81 CCommentView &commentView; //
\83R
\83\81\83\93\83g
\95\
\8e¦
\83E
\83B
\83\93\83h
\83E
82 CCommentWriteWindow &writeWindow; //
\83R
\83\81\83\93\83g
\8f\91\82«
\8d\9e\82Ý
\97p
\82Ì
\83E
\83B
\83\93\83h
\83E
83 CSubLiveNoComboBox &lvnocombo; //
\95ú
\91\97\94Ô
\8d\86\93ü
\97Í
\83R
\83\93\83{
\83{
\83b
\83N
\83X
88 ///
\83R
\83\93\83X
\83g
\83\89\83N
\83^
90 CLiveUserData(CCommentView& cv,CSubLiveNoComboBox &combo,CCommentWriteWindow &writeWindow);
94 ///
\90Ú
\91±
\8aJ
\8en
\8e\9e\8f\88\97\9d
99 ///
\83R
\83\81\83\93\83g
\8eó
\90M
\8aJ
\8en
\8e\9e\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N
\8f\88\97\9d
101 VOID OnChatReceveStart(StreamStatus &streamStatus);
105 ///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
106 ///
\8eó
\90M
\82µ
\82½
\83R
\83\81\83\93\83g
\82ð
\83o
\83b
\83t
\83@
\82É
\8ai
\94[
108 VOID OnChatReceve(NicoLiveChat_P chat,UINT_PTR count);
112 ///
\83`
\83\83\83b
\83g
\8eó
\90M
\8am
\92è
\8e\9e\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N
\8f\88\97\9d
113 ///
\8eå
\82É
\8eó
\90M
\82µ
\82½
\83R
\83\81\83\93\83g
\82Ì
\95`
\89æ
\8f\88\97\9d\82ð
\8ds
\82¤
115 VOID OnChatReceveSettle(UINT_PTR commentCount,UINT_PTR commentCountSum);
118 ///
\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
120 VOID OnChatSendResult(NicoLiveSendResultComment_P sendResult);
127 typedef CFrameWindowImpl<CNliteMainFrame> baseWindow;
129 //
\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^
130 DECLARE_FRAME_WND_CLASS(NLITE_MAINWINDOW, IDC_NLITE)
133 CCommentView commentView; //
\83R
\83\81\83\93\83g
\95\
\8e¦
\83E
\83B
\83\93\83h
\83E
134 CStatusBarCtrl statusBar; //
\83X
\83e
\81[
\83^
\83X
\83o
\81[
135 CLiveUserData userData; //
\83C
\83x
\83\93\83g
\83n
\83\93\83h
\83\89\97p
\83N
\83\89\83X
136 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)
137 CCommentWriteWindow commentWriteWindow; //
\83R
\83\81\83\93\83g
\8f\91\82«
\8d\9e\82Ý
\97p
\83N
\83\89\83X
138 CTabCtrl tabctrl; //
\83^
\83u
\83R
\83\93\83g
\83\8d\81[
\83\8b
140 HFONT hTabFont; //
\83^
\83u
\83E
\83B
\83\93\83h
\83E
\97p
\82Ì
\83t
\83H
\83\93\83g
141 CComboBoxEx lvNoCombo; //
\90¶
\95ú
\91\97\94Ô
\8d\86\93ü
\97Í
\97p
\83R
\83\93\83{
\83{
\83b
\83N
\83X
142 INT_PTR statusBarHeight; //
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\8d\82\82³
143 INT_PTR toolBarHeight; //
\83c
\81[
\83\8b\83o
\81[
\82Ì
\8d\82\82³
144 CNicoVideoAuth nicoVideoAuth; //
\83j
\83R
\83j
\83R
\93®
\89æ
\94F
\8fØ
\97p
\83I
\83u
\83W
\83F
\83N
\83g
145 Property nliteProperty; //
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\83v
\83\8d\83p
\83e
\83B
146 CNicoLiveStream nicoLiveStream; //
\83j
\83R
\83j
\83R
\90¶
\95ú
\91\97\83I
\83u
\83W
\83F
\83N
\83g
149 //
\83\81\83b
\83Z
\81[
\83W
\83t
\83B
\83\8b\83^
\8f\88\97\9d
150 virtual BOOL PreTranslateMessage(MSG* pMsg){
151 //
\8aî
\92ê
\83N
\83\89\83X
\82ÌPreTranslateMessage
\82ð
\8cÄ
\82Ñ
\8fo
\82·
152 return CFrameWindowImpl<CNliteMainFrame>::PreTranslateMessage(pMsg);
155 //
\83A
\83C
\83h
\83\8b\8f\88\97\9d
156 virtual BOOL OnIdle(){
164 ///
\83R
\83\93\83X
\83g
\83\89\83N
\83^
170 ///
\83f
\83X
\83g
\83\89\83N
\83^
176 BEGIN_UPDATE_UI_MAP(CNliteMainFrame)
177 //
\83G
\83\93\83g
\83\8a\82È
\82µ
180 //
\83\81\83b
\83Z
\81[
\83W
\83}
\83b
\83v
181 BEGIN_MSG_MAP_EX(CNliteMainFrame)
182 MSG_WM_CREATE(OnCreate)
183 MSG_WM_DESTROY(OnDestroy)
184 MESSAGE_HANDLER(WM_SIZE,OnSize)
185 MSG_WM_SIZING(OnSizing)
186 COMMAND_ID_HANDLER_EX(IDM_EXIT, OnMenuExit)
187 COMMAND_ID_HANDLER_EX(IDM_ABOUT,OnMenuAbount)
188 COMMAND_ID_HANDLER_EX(IDM_COOKIE,OnCookie)
189 NOTIFY_HANDLER(ATL_IDW_TOOLBAR,RBN_HEIGHTCHANGE,OnRbnHeightChange)
190 // CFrameWindowImpl
\83N
\83\89\83X
\82Ö
\83`
\83F
\81[
\83\93
191 CHAIN_MSG_MAP(CFrameWindowImpl<CNliteMainFrame>)
196 ///
\8f\89\8aú
\89»
\8f\88\97\9d
198 VOID Initialize(LPCTSTR localAppDataPath);
201 ///
\8fI
\97¹
\8f\88\97\9d
212 ///
\83c
\81[
\83\8b\83o
\81[
\8d\82\82³
\95Ï
\8dX
214 LRESULT OnRbnHeightChange(INT_PTR wParam,LPNMHDR lParam,BOOL &bHandled);
218 ///
\83T
\83C
\83Y
\95Ï
\8dX
\92\86\8f\88\97\9d
220 VOID OnSizing(UINT wParam,LPRECT lParam);
223 ///
\83T
\83C
\83Y
\95Ï
\8dX
\8cã
225 LRESULT OnSize(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL& bHandled);
229 ///
\8eq
\83E
\83B
\83\93\83h
\83E
\83T
\83C
\83Y
\95Ï
\8dX
\8f\88\97\9d
231 VOID ChangeSize(const SIZE& client);
235 ///
\83E
\83B
\83\93\83h
\83E
\8dì
\90¬
\8e\9e\82Ì
\8f\88\97\9d
237 LRESULT OnCreate(LPCREATESTRUCT lpcs);
239 VOID ConnectNicoLive(LPCTSTR liveNo);
244 //
\83\81\83j
\83\85\81[
\82©
\82ç
\83t
\83@
\83C
\83\8b\82ð
\8fI
\97¹
\82ð
\91I
\91ð
245 VOID OnMenuExit(UINT uNotifyCode, int nID, HWND hWndCtl);
247 //
\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¦
248 VOID OnMenuAbount(UINT uNotifyCode,int nID,HWND hWndCtl);
250 //
\83N
\83b
\83L
\81[
\82Ì
\90Ý
\92è
251 VOID OnCookie(UINT uNotifyCode,int nID,HWND hWndCtl);
254 static NLIB_RESULT LiveCallBack(NICOLIVE_EVENT eventType,NicoLiveStream_P pNicoLiveStream,LPVOID option,NICOLIVE_PARAM param1,NICOLIVE_PARAM param2);