MFC防止按鈕動作的連擊響應,用CTime

2021-08-26 10:56:14 字數 1339 閱讀 1117

涉及到ctime 的比較大小時。ctimespan隆重登場了。減少了很多麻煩事- -!

ctime 類只能用來獲取時間,不能用來進行時間比較,否則會產生負值

例如:cwnd::ontimer(nid)

}以上這段**在經過一分鐘後(或 start.getminute() != now.getminute()時),now.getsecond() - start.getsecond() 的結果是乙個負值

如果要進行時間間隔的比較,可以用ctimespan類,如下

獲得當前日期和時間

ctime tm=ctime::getcurrenttime();

cstring str=tm.format("%y-%m-%d");

在vc中,我們可以借助ctime時間類,獲取系統當前日期,具體使用方法如下:

ctime t = ctime::getcurrenttime(); //獲取系統日期

int d=t.getday(); //獲得幾號

int y=t.getyear(); //獲取年份

int m=t.getmonth(); //獲取當前月份

int h=t.gethour(); //獲取當前為幾時

int mm=t.getminute(); //獲取分鐘

int s=t.getsecond(); //獲取秒

int w=t.getdayofweek(); //獲取星期幾,注意1為星期天,7為星期六

如果想計算兩段時間的差值,可以使用ctimespan類,具體使用方法如下:

ctime t1( 1999, 3, 19, 22, 15, 0 );

ctime t = ctime::getcurrenttime();

ctimespan span=t-t1; //計算當前系統時間與時間t1的間隔

int iday=span.getdays(); //獲取這段時間間隔共有多少天

int ihour=span.gettotalhours(); //獲取總共有多少小時

int imin=span.gettotalminutes();//獲取總共有多少分鐘

int isec=span.gettotalseconds();//獲取總共有多少秒

ctime m_dcurrentdate  = ctime::getcurrenttime();

ctimespan span = m_dcurrentdate - m_dbegindate; //m_dbegindate

if (span.getseconds() < 2)

m_dbegindate = ctime::getcurrenttime();

Labview按鈕的機械動作

labview 對於按鈕控制項的機械動作提供了六個不同的選擇,它們可以通過右鍵按鈕並選擇機械動作來找到。這些不同的選項導致按鈕輸出的值的行為不同。下里將這六個選項做乙個簡短的總結 單擊時轉換 當用滑鼠將按鈕按下時,按鈕輸出的值將轉換。例如,如果按鈕的值設為假,當按鈕被按下,值就轉換為真。真將保持下去...

如何防止按鈕克星啟用我們的按鈕

宇文成風vc技巧總結之防範按鈕克星 按鈕克星啟用我們的控制項以及視窗一般採取的方式都是先獲取視窗控制代碼,然後對視窗控制代碼呼叫enablewindow函式。事實上我們的視窗過程收到wm enable這個訊息的時候已經晚了,因為enablewindow函式已經呼叫過了,我們才收到這個訊息。我這個辦法...

防止按鈕重複提交的方法

1.一種簡單的方法 前台 asp button id btntest runat server text button onclick btntest click cssclass button common 後台 protected void page load object sender,eve...