TDateTimePicker的控制元件,有兩個屬性為Checked和ShowCheckBox,表示是否顯示選擇框,但是選擇框出現時,在XP下正常,在Win7問題特多,表現如下:
1、當Checked默認為false,啟動程式,按道理是選擇框不選擇,XP是這樣的,但是Win7默認居然是選擇的,不論你如何預先設定Checked屬性。
2、點擊下拉框開始選擇日期時,Win7就是讓那個選擇框自動勾選,無論那個選擇框是否已經勾選。例如:選擇框本來未勾選,如果要開始選擇日期,那個選擇框會自動選中,XP下不是這樣的,因此,當以下代碼出現時,根本無法選擇時間,因為選擇框一直是選中的。所以一直顯示“無”。
procedure TForm1.DateTimePickerChange(Sender: TObject);
begin
if DP.Checked then
DP.Format :='無'
else
DP.Format :='';
end;
3、如果按以上代碼設定顯示格式,如果開啟皮膚效果(就是XPMan控制元件放置上去效果),只要勾選了選擇選擇框,那么久一直顯示“無”,無法再繼續其他顯示。
以上的現象在XP下不會出現,但是在我的Win7系統上,簡直無法琢磨,開發環境是D7,請問如何解決。
uj5u.com熱心網友回復:
狀態搞反了,是默認選擇的,要好改成以下方式即可procedure TForm1.DateTimePickerChange(Sender: TObject);
begin
if not DP.Checked then
DP.Format :='無'
else
DP.Format :='';
end;
現在就剩下第3點了,只要變成“無”顯示,顯示格式就怎么也改不回來了,XP下不會這樣。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/122320.html
標籤:VCL組件開發及應用
