• <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 閱讀(516) 評論(0)  編輯 收藏 引用
            国产精品综合久久第一页| 人人狠狠综合久久88成人| 亚洲精品乱码久久久久久蜜桃不卡| 精品国产综合区久久久久久| 亚洲美日韩Av中文字幕无码久久久妻妇 | 国产精品成人99久久久久| 久久久久亚洲av无码专区喷水| 日本高清无卡码一区二区久久 | 久久久久亚洲av成人网人人软件| 国产一级做a爰片久久毛片| 青青草原综合久久| 97久久超碰国产精品2021| 精品久久久一二三区| 亚洲人成无码网站久久99热国产 | 亚洲国产精品成人久久蜜臀 | 精品久久久久久无码中文野结衣 | 精品久久人妻av中文字幕| 久久久无码一区二区三区| 99久久婷婷国产一区二区| 久久er99热精品一区二区| 久久亚洲sm情趣捆绑调教| 无码8090精品久久一区| 国产精久久一区二区三区| 久久精品免费观看| 久久久综合九色合综国产| 久久精品欧美日韩精品| 无码人妻久久一区二区三区 | 久久国产一片免费观看| 国产三级精品久久| 三级三级久久三级久久| 精品久久久无码人妻中文字幕| 久久久久久久波多野结衣高潮| 久久伊人五月丁香狠狠色| 麻豆精品久久久久久久99蜜桃 | 99久久99久久精品国产片| 色综合久久久久网| 国产偷久久久精品专区 | 欧美久久久久久精选9999| 亚洲午夜久久久久久久久久| 精品久久香蕉国产线看观看亚洲| 亚洲国产二区三区久久|