在MFC狀態列顯示時間

2021-04-08 16:11:28 字數 1254 閱讀 5151

在vc的控制項中有個status bar可以在窗體狀態列中新增日期和時間。其實通

過簡單的**,你就能建立乙個有時鐘顯示的狀態列,並且還能設定時鐘欄的顯

示方式。舉例如下:

然後,編寫**:

1)在string table中新增new string,在此定義為id_indicator_clock,將

其caption設為00:00:00(由於狀態列根據caption確定時間窗格的預設寬度,

使用此值將為時間的顯示預留空間)。注意,本步操作時有兩種方式:

一種建立新的string table,並新增string;另一種則在原有string table

中新增。當用後一種方式操作時,若完成後,時鐘欄並不顯示時間,則需要將此

new string在string table中對應的value值加1(可在resource.h中修改)。

2)在mainfrm.cpp中indicators宣告處新增id_indicator_clock,**如下:

…static uint indicators =;…

這一步中id_indicator_clock的插入位置將影響時間窗格在狀態列中的顯示位置。

3)安裝定時器:在mainfrm.cpp中oncreate函式處新增**如下:

int cmainframe::oncreate(lpcreatestruct lpcreatestruct)

4)編寫時間處理函式:利用classwizard為cmainframe類加入wm_timer的消

息處理函式ontimer,並新增**如下:

void cmainframe::ontimer(uint nidevent)

5)銷毀定時器:利用classwizard為cmainframe類加入wm_close的訊息處理

函式onclose,並新增**如下:

void cmainframe::onclose()

最後,編譯執行。

怎麼樣,你的時鐘還不錯吧。此外,你還可以通過呼叫cstatusbar的成員函

數setpanestyle,setpaneinfo來設定你的時鐘欄的顯示方式。例如:在mainfrm

.cpp中oncreate函式處新增如下**,即可將你的時鐘欄pop out:

int cmainframe::oncreate(lpcreatestruct lpcreatestruct)

了解了如何新增時鐘,新增別的窗格也是大同小異。比如動態顯示滑鼠提示,動態顯示其它你所需要的提示等等,你可以隨心所欲地定製自己的狀態列了 

在狀態列顯示時間

單文件 在導向程式的第四步中選中 initial status bar resourceview stringtable 中新增乙個新的字串ids clock caption 0000 00 00 00 00 00 static uint indicators 在cmainframe 類 wm cr...

vc在狀態列顯示時間

2 在mainfrm.cpp中indicators宣告處新增id indicator clock,如下 static uint indicators 這一步中id indicator clock的插入位置將影響時間窗格在狀態列中的顯示位置。3 安裝定時器 在mainfrm.cpp中oncreate函...

在狀態列顯示資訊

狀態列中缺省會顯示按鍵狀態和我們當前選擇的選單 工具條的描述資訊。我們也可以朝狀態列中顯示自己的資訊。本文介紹如何在狀態列中顯示當前滑鼠位置和滑鼠所在位置的顏色。為了顯示乙個定製訊息,我們需要為程式建立乙個可以關聯更新訊息的元素 字串資源 然後再在狀態列中給它建立對應的pane,最後,通過wm up...