ステータスバーとリアルタイムの表示時間を追加するためのダイアログベースのMFCプログラム

シルクシェールより転載

1.まず、文字列テーブルに2つの文字列を追加し、IDはIDS_INDICATOR_MESSAGEとIDS_INDICATOR_TIMEです

dlg.h内部クラス2. CStatusBarののm_barを追加します。

dlg.cppの開始時に3プラス

 

静的UINT指標[] =

{

 IDS_INDICATOR_MESSAGE、

 IDS_INDICATOR_TIME

}。

 

と内部4.OnInitDialog

m_bar.Create(この); //私たちは、ステータスバーを作成します

m_bar.SetIndicators(指標2)。//ペインの数を設定します。

CRectの直腸;

GetClientRect(&RECT)。

//サイズ2つのペイン

m_bar.SetPaneInfo(0、IDS_INDICATOR_MESSAGE、SBPS_NORMAL、rect.Width() - 100)。     

m_bar.SetPaneInfo(1、IDS_INDICATOR_TIME、SBPS_STRETCH、0);

//これは、私たちが実際に画面上にそれを描く場所です

RepositionBars(AFX_IDW_CONTROLBAR_​​FIRST、AFX_IDW_CONTROLBAR_​​LAST、ID_INDICATOR_TIME)。

 

時刻表示

SetTimer(1,1000、NULL)を追加のOnInitDialog。

あなたのクラスDLGのためのWM_TIMER応答関数を追加し、その中にコードを追加します。

CTime T1;

T1 =はCTime :: GetCurrentTime();

m_bar.SetPaneText(1、t1.Format( "%H:%のM:%のS"));

CDialogの::のOnTimer(nIDEvent)。

そのような手順は、動作の開始時に番組表示システムを作るために、文字が最初に設定されて表示された時間バーの実行の開始時に添加されてもよいm_bar.SetPaneInfo(1、IDS_INDICATOR_TIME、SBPS_STRETCH、0);後次のコードを追加します。

CTime T1;

T1 =はCTime :: GetCurrentTime();

m_bar.SetPaneText(1、t1.Format( "%H:%のM:%のS"));

これは、プログラムが始まったばかりのシステム時刻、およびリアルタイムの更新が表示されます。

 

2015年5月15日にCSDN

 

おすすめ

転載: www.cnblogs.com/arxive/p/11748251.html