设为首页 加入收藏

TOP

多标签视图类CTabView的设计实现 (六)
2014-11-24 00:12:00 来源: 作者: 【 】 浏览:93
Tags:标签 CTabView 设计 实现
dow(CCtrlView::m_hWnd));
211 ASSERT(IsValidViewIndex(iIndex));
212
213 if (iIndex==m_iActiveView)
214 return;
215
216// SetRedraw(FALSE);
217 if (-1!=m_iActiveView)
218 {
219 GetView(m_iActiveView)->ShowWindow(SW_HIDE);
220 }
221 GetTabCtrl().SetCurSel(iIndex);
222 m_iActiveView = iIndex;
223 GetView(m_iActiveView)->ShowWindow(SW_SHOWNORMAL);
224
225 UpdateLayout();
226
227 //SetRedraw(TRUE);
228 //RedrawWindow(NULL, NULL, RDW_FRAME|RDW_INVALIDATE|RDW_UPDATENOW|RDW_ALLCHILDREN);
229
230 if (GetFocus()!=this)
231 {
232 GetView(iIndex)->SetFocus();
233 }
234}
235
236BOOL CTabView::SetViewTitle(const CWnd* pWnd,LPCTSTR pszTitle)
237{
238 return SetViewTitle(GetIndex(pWnd),pszTitle);
239}
240
241BOOL CTabView::SetViewTitle(int iIndex,LPCTSTR pszTitle)
242{
243 ASSERT(::IsWindow(CCtrlView::m_hWnd));
244 ASSERT(IsValidViewIndex(iIndex));
245
246 TC_EXTRA_ITEM ti;
247 ti.header.mask = TCIF_PARAM;
248 if (!GetTabCtrl().GetItem(iIndex,ti))
249 return FALSE;
250 delete []ti.view.pszTitle;
251
252 CString str;
253 ShortenTitle(pszTitle,str);
254
255 ti.header.mask = TCIF_TEXT|TCIF_PARAM;
256 ti.header.pszText = (LPTSTR)(LPCTSTR)str;
257 if (pszTitle)
258 {
259 ti.view.pszTitle = new TCHAR[_tcslen(pszTitle)+1];
260 if (NULL==ti.view.pszTitle)
261 return FALSE;
262 _tcscpy(ti.view.pszTitle,pszTitle);
263 }
264 if (!GetTabCtrl().SetItem(iIndex,ti))
265 {
266 if (pszTitle) delete []ti.view.pszTitle;
267 return FALSE;
268 }
269 return TRUE;
270}
271
272BOOL CTabView::GetViewTitle(const CWnd* pWnd,LPTSTR& pszTitle) const
273{
274 return GetViewTitle(GetIndex(pWnd),pszTitle);
275}
276
277BOOL CTabView::GetViewTitle(int iIndex,LPTSTR& pszTitle) const
278{
279 ASSERT(IsValidViewIndex(iIndex));
280
281 TC_EXTRA_ITEM ti;
282 ti.header.mask = TCIF_PARAM;
283 if (!GetTabCtrl().GetItem(iIndex,ti))
284 return FALSE;
285 pszTitle = ti.view.pszTitle;
286 return TRUE;
287}
288
289BOOL CTabView::SetViewImage(const CWnd* pWnd,int iImage)
290{
291 return SetViewImage(GetIndex(pWnd),iImage);
292}
293
294BOOL CTabView::SetViewImage(int iIndex,int iImage)
295{
296 ASSERT(IsValidViewIndex(iIndex));
297
298 TC_EXTRA_ITEM ti;
299 ti.header.mask = TCIF_IMAGE;
300 ti.header.iImage = iImage;
301 return GetTabCtrl().SetItem(iIndex,ti);
302}
303
304BOOL CTabView::GetViewImage(const CWnd* pWnd,int& iImage) const
305{
306 return GetViewImage(GetIndex(pWnd),iImage);
307}
308
309BOOL CTabView::GetViewImage(int iIndex,int& iImage) const
310{
311 ASSERT(IsValidViewIndex(iIndex));
312
313 TC_EXTRA_ITEM ti;
314 ti.header.mask = TCIF_IMAGE;
315 if (!GetTabCtrl().GetItem(iIndex,ti))
316 return FALSE;
317 iImage = ti.header.iImage;
318 return TRUE;
319}
320
321BOOL CTabView::SetViewData(const CWnd* pWnd,LPVOID pData)
322{
323 return SetViewData(GetIndex(pWnd),pData);
324}
325
326BOOL CTabView::SetViewData(int iIndex,LPVOID pData)
327{
328 ASSERT(IsValidViewIndex(iIndex));
329
330 TC_EXTRA_ITEM ti;
331 ti.header.mask = TCIF_PARAM;
332 if (!GetTabCtrl().GetItem(iIndex,ti))
333 return FALSE;
334 ti.header.mask = TCIF_PARAM
首页 上一页 3 4 5 6 下一页 尾页 6/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数组中a和&a的区别 下一篇红黑树及生成超过32768随机数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: