• <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數(shù)組中添加IDS_TIMER
            3,在OnCreate函數(shù)中設(shè)置一個(gè)定時(shí)器。
            4.添加消息為WM_TIMER的函數(shù)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();????????//獲得當(dāng)前時(shí)間
            ????CString?strTime?=?t.Format("%H:%M:%S");????//格式化當(dāng)前時(shí)間
            ????CClientDC?dc(this);
            ????CSize?sz?
            =?dc.GetTextExtent(strTime);????//獲得時(shí)間顯示的寬度
            ????indexStatusBar?=?m_wndStatusBar.CommandToIndex(IDS_TIMER);????//獲得窗格的索引
            ????m_wndStatusBar.SetPaneInfo(indexStatusBar,IDS_TIMER,SBPS_NORMAL,sz.cx);????//改變窗格的寬度
            ????m_wndStatusBar.SetPaneText(indexStatusBar,strTime);????????//設(shè)置窗格的內(nèi)容
            ????

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

            注意在CMainFrame函數(shù)中的那個(gè)OnCreate函數(shù)中的部分代碼,設(shè)置顯示時(shí)間的,其實(shí)是一個(gè)初始化的功能,因?yàn)殚_始的時(shí)候如果沒有這個(gè)代碼是不顯示時(shí)間的。當(dāng)然,如果僅僅是一個(gè)計(jì)時(shí)器,那么后面根據(jù)這個(gè)代碼,也是會自動更新時(shí)間的,只是初始化的話未知時(shí)間。


            吸取的一點(diǎn)就是:懂得了如何改變狀態(tài)欄的寬度,這樣就不會出現(xiàn)前面的那個(gè)不知道狀態(tài)欄太窄怎么辦的問題。
            解決方法是:
            得到顯示的CSize,然后使用CommandToIndex來得到是需要改變那個(gè)的寬度(即得到顯示內(nèi)容的窗格的索引,正確的改變那一個(gè),而不是所有的寬度),設(shè)置SetPaneInfo來改變寬度。最終設(shè)置內(nèi)容就OK了。
            詳細(xì)點(diǎn)就是:真正改變寬度的是SetPaneInfo的最后一個(gè)參數(shù),而這個(gè)正式CSize的的寬度cx。
            posted on 2010-02-17 22:17 deercoder 閱讀(521) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            国产精品福利一区二区久久| 亚洲AV日韩精品久久久久久久 | 99麻豆久久久国产精品免费| 久久99国产精一区二区三区| 欧美日韩中文字幕久久久不卡| 亚洲国产香蕉人人爽成AV片久久| 看久久久久久a级毛片| 91久久精品国产成人久久| 久久这里有精品| 亚洲一区二区三区日本久久九| 久久久这里只有精品加勒比| 99久久伊人精品综合观看| 久久精品无码一区二区WWW| 久久久久人妻精品一区三寸蜜桃 | 久久亚洲AV成人无码软件| 久久亚洲高清观看| 久久亚洲AV成人无码电影| 中文字幕无码久久久| 久久精品亚洲精品国产欧美| 国产午夜免费高清久久影院| 久久99精品久久久大学生| 亚洲v国产v天堂a无码久久| 久久久久18| 久久久久亚洲爆乳少妇无| 超级碰久久免费公开视频| 四虎国产精品免费久久久| 久久精品国产半推半就| 欧美亚洲国产精品久久蜜芽| 亚洲国产精品人久久| 99久久国产综合精品五月天喷水| 日本免费久久久久久久网站| 色综合久久久久网| 2021国产成人精品久久| 久久93精品国产91久久综合| 日本国产精品久久| 久久人人爽人人爽人人片AV不| 亚洲午夜久久久影院| 久久99精品久久久久子伦| 欧美伊香蕉久久综合类网站| 久久激情五月丁香伊人| 色青青草原桃花久久综合|