• <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   管理


            色综合合久久天天综合绕视看| www.久久热.com| 伊人色综合久久天天人守人婷| 亚洲国产天堂久久综合| 99久久夜色精品国产网站| 国产综合久久久久| 日本加勒比久久精品| 久久国产精品成人免费 | 蜜桃麻豆www久久| 国产精品99久久久精品无码| 久久夜色精品国产亚洲| 伊人久久大香线蕉av不卡| AAA级久久久精品无码区| 亚洲精品乱码久久久久久蜜桃不卡 | 久久夜色精品国产亚洲| 亚洲&#228;v永久无码精品天堂久久 | 伊人久久大香线蕉综合Av| 99久久综合国产精品二区| 无码日韩人妻精品久久蜜桃| 久久婷婷五月综合成人D啪| 久久亚洲国产欧洲精品一| 人妻少妇久久中文字幕一区二区| 国产精品久久久久一区二区三区| 91精品国产高清久久久久久io | 久久综合狠狠综合久久| 国产精品99久久久精品无码 | 久久青青草原精品国产| 亚洲精品乱码久久久久久久久久久久 | 四虎国产精品成人免费久久| 久久久无码精品午夜| 久久天天躁狠狠躁夜夜不卡| 久久精品国产黑森林| 久久丝袜精品中文字幕| 亚洲?V乱码久久精品蜜桃| 思思久久99热只有频精品66| 伊人久久大香线蕉成人| 国内精品九九久久精品| 久久久久久午夜成人影院| 精品久久久久久亚洲精品 | 狠狠色丁香婷婷久久综合五月| 久久精品国产久精国产一老狼|