• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-145  評論-173  文章-70  trackbacks-0
            步驟:
            1,添加String Table中的資源,IDS_TIMER
            2,在MainFrm.cpp文件中的indicators數組中添加IDS_TIMER
            3,在OnCreate函數中設置一個定時器。
            4.添加消息為WM_TIMER的函數OnTimer。

            代碼:
            int?CMainFrame::OnCreate(LPCREATESTRUCT?lpCreateStruct)
            {
            ????
            if?(CFrameWnd::OnCreate(lpCreateStruct)?==?-1)
            ????????
            return?-1;
            ????
            ????
            if?(!m_wndToolBar.CreateEx(this,?TBSTYLE_FLAT,?WS_CHILD?|?WS_VISIBLE?|?CBRS_TOP
            ????????
            |?CBRS_GRIPPER?|?CBRS_TOOLTIPS?|?CBRS_FLYBY?|?CBRS_SIZE_DYNAMIC)?||
            ????????
            !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
            ????
            {
            ????????TRACE0(
            "Failed?to?create?toolbar\n");
            ????????
            return?-1;??????//?fail?to?create
            ????}


            ????
            if?(!m_wndStatusBar.Create(this)?||
            ????????
            !m_wndStatusBar.SetIndicators(indicators,
            ??????????
            sizeof(indicators)/sizeof(UINT)))
            ????
            {
            ????????TRACE0(
            "Failed?to?create?status?bar\n");
            ????????
            return?-1;??????//?fail?to?create
            ????}


            ????
            //?TODO:?Delete?these?three?lines?if?you?don't?want?the?toolbar?to
            ????
            //??be?dockable
            ????m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
            ????EnableDocking(CBRS_ALIGN_ANY);
            ????DockControlBar(
            &m_wndToolBar);
            ????
            ????
            int?indexStatusBar?=?0;
            ????CTime?t?
            =?CTime::GetCurrentTime();
            ????CString?strTime?
            =?t.Format("%H:%M:%S");
            ????CClientDC?dc(
            this);
            ????CSize?sz?
            =?dc.GetTextExtent(strTime);
            ????indexStatusBar?
            =?m_wndStatusBar.CommandToIndex(IDS_TIMER);
            ????m_wndStatusBar.SetPaneInfo(indexStatusBar,IDS_TIMER,SBPS_NORMAL,sz.cx);
            ????m_wndStatusBar.SetPaneText(indexStatusBar,strTime);

            ????SetTimer(
            1,1000,NULL);

            ????
            return?0;
            }





            void?CMainFrame::OnTimer(UINT?nIDEvent)?
            {
            ????
            //?TODO:?Add?your?message?handler?code?here?and/or?call?default
            ????int?indexStatusBar?=?0;
            ????CTime?t?
            =?CTime::GetCurrentTime();????????//獲得當前時間
            ????CString?strTime?=?t.Format("%H:%M:%S");????//格式化當前時間
            ????CClientDC?dc(this);
            ????CSize?sz?
            =?dc.GetTextExtent(strTime);????//獲得時間顯示的寬度
            ????indexStatusBar?=?m_wndStatusBar.CommandToIndex(IDS_TIMER);????//獲得窗格的索引
            ????m_wndStatusBar.SetPaneInfo(indexStatusBar,IDS_TIMER,SBPS_NORMAL,sz.cx);????//改變窗格的寬度
            ????m_wndStatusBar.SetPaneText(indexStatusBar,strTime);????????//設置窗格的內容
            ????

            ????CFrameWnd::OnTimer(nIDEvent);
            }

            注意在CMainFrame函數中的那個OnCreate函數中的部分代碼,設置顯示時間的,其實是一個初始化的功能,因為開始的時候如果沒有這個代碼是不顯示時間的。當然,如果僅僅是一個計時器,那么后面根據這個代碼,也是會自動更新時間的,只是初始化的話未知時間。


            吸取的一點就是:懂得了如何改變狀態欄的寬度,這樣就不會出現前面的那個不知道狀態欄太窄怎么辦的問題。
            解決方法是:
            得到顯示的CSize,然后使用CommandToIndex來得到是需要改變那個的寬度(即得到顯示內容的窗格的索引,正確的改變那一個,而不是所有的寬度),設置SetPaneInfo來改變寬度。最終設置內容就OK了。
            詳細點就是:真正改變寬度的是SetPaneInfo的最后一個參數,而這個正式CSize的的寬度cx。
            posted on 2010-02-17 22:17 deercoder 閱讀(512) 評論(0)  編輯 收藏 引用
            伊人久久无码中文字幕| 精品无码久久久久久午夜| 久久国产热这里只有精品| 色噜噜狠狠先锋影音久久| 久久久久久久综合日本亚洲| 国内精品伊人久久久久网站| 婷婷久久五月天| 久久综合狠狠色综合伊人| 亚洲人成无码久久电影网站| 久久99精品国产自在现线小黄鸭| 久久精品国产福利国产琪琪| 亚洲午夜无码久久久久| 国产视频久久| 91久久精一区二区三区大全| 日本久久久久久久久久| 久久精品国产99国产精品澳门| 色欲综合久久躁天天躁| 99久久精品国内| 久久久久久亚洲精品成人| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 国产精品成人久久久| 日韩亚洲欧美久久久www综合网| 亚洲国产精品无码久久一线 | 久久精品麻豆日日躁夜夜躁| 久久久久婷婷| 88久久精品无码一区二区毛片| 久久er99热精品一区二区| 亚洲精品白浆高清久久久久久| 国产精品一区二区久久精品涩爱 | 久久久久女人精品毛片| 亚洲综合精品香蕉久久网| 国内精品久久国产| 欧美成人免费观看久久| yy6080久久| 久久精品国产亚洲av麻豆图片 | 色综合久久无码五十路人妻| 久久久久波多野结衣高潮| 久久久久亚洲AV成人网人人网站| 日本五月天婷久久网站| 精品久久久久久久久免费影院| 狠狠色狠狠色综合久久|