程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> DateTimePicker如何與Delphi自帶Style同步,datepicker

DateTimePicker如何與Delphi自帶Style同步,datepicker

編輯:Delphi

DateTimePicker如何與Delphi自帶Style同步,datepicker


Delphi 的 DateTimePicker 組件有一個CalColors屬性,可以設置 DropDown 打開的日歷節目的風格。但如果不使用 Delphi 自帶的 Style,在這裡設置屬性看不到期望的效果。

而使用了 delphi 自帶的style,效果又存在瑕疵——日歷面板大小有問題。 如果把自帶 style 的 client 項關閉,大小倒是對了,之前設置的MonthBackColor屬性在邊框上也體現出來了,但是和窗體的風格又不統一了。 網上一搜,Stack Overflow 給出了方案——去掉自動繪制 style,去提取 style 的相關元素來設置 CalColors 屬性。 嘗試一下,效果基本能接受了。記在這裡備查。 http://stackoverflow.com/questions/10335310/style-properties-for-tdatetimepicker
 1 uses
 2   Winapi.CommCtrl,
 3   Vcl.Styles,
 4   Vcl.Themes,
 5   uxTheme;
 6 
 7 Procedure SetVclStylesColorsCalendar( DateTimePicker: TDateTimePicker);
 8 Var
 9   LTextColor, LBackColor : TColor;
10 begin
11    uxTheme.SetWindowTheme(DateTimePicker.Handle, '', '');//disable themes in the calendar
12    //get the vcl styles colors
13    LTextColor:=StyleServices.GetSystemColor(clWindowText);
14    LBackColor:=StyleServices.GetSystemColor(clWindow);
15 
16    DateTimePicker.Color:=LBackColor;
17    //set the colors of the calendar
18    DateTimePicker.CalColors.BackColor:=LBackColor;
19    DateTimePicker.CalColors.MonthBackColor:=LBackColor;
20    DateTimePicker.CalColors.TextColor:=LTextColor;
21    DateTimePicker.CalColors.TitleBackColor:=LBackColor;
22    DateTimePicker.CalColors.TitleTextColor:=LTextColor;
23    DateTimePicker.CalColors.TrailingTextColor:=LTextColor;
24 end;
25 
26 procedure TForm2.DateTimePicker1DropDown(Sender: TObject);
27 var
28   hwnd: WinAPi.Windows.HWND;
29 begin
30   hwnd := SendMessage(TDateTimePicker(Sender).Handle, DTM_GETMONTHCAL, 0,0);
31   uxTheme.SetWindowTheme(hwnd, '', '');//disable themes in the drop down window
32 end;
33 procedure TForm2.FormCreate(Sender: TObject);
34 begin
35   SetVclStylesColorsCalendar(DateTimePicker1);
36 end;

   

 


delphi中怎設置DateTimePicker的時間與電腦時間同步

如果只是顯示日期,假如我是軟件的用戶,我寧願在一個EDIT編輯框中直接輸入日期,DateTimePicker用起來太麻煩了,要使它顯示自己需要的日期,點擊鼠標會到手軟,用它直接輸入日期也不好用.
 

delphi 中怎保存DateTimePicker1Date的值

Delphi中FormatDateTime的用法-南山古桃-關鍵詞:Delphi,FormatDateTime...
關鍵詞:Delphi,FormatDateTime,日期函數,格式化

聲明為:

function FormatDateTime(const Format: string; DateTime: TDateTime): string;
overload;
返回值是一種格式化後的字符串,重點來看Format參數中的指令字符

c 以短時間格式顯示時間,即全部是數字的表示
FormatdateTime('c',now);
輸出為:2004-8-7 9:55:40

d 對應於時間中的日期,日期是一位則顯示一位,兩位則顯示兩位
FormatdateTime('d',now);
輸出可能為1~31

dd 和d的意義一樣,但它始終是以兩位來顯示的
FormatdateTime('dd',now);
輸出可能為01~31

ddd 顯示的是星期幾
FormatdateTime('ddd',now);
輸出為: 星期六

dddd 和ddd顯示的是一樣的。但上面兩個如果在其他國家可能不一樣。ddddd 以短時間格式顯示年月日
FormatdateTime('ddddd',now);
輸出為:2004-8-7

dddddd 以長時間格式顯示年月日
FormatdateTime('dddddd',now);
輸出為:2004年8月7日
(**** 轉載敬請注明-本文出處:南山古桃(nsgtao)的百度空間:hi.baidu.com/nsgtao/ ****)
e/ee/eee/eeee 以相應的位數顯示年
FormatdateTime('ee',now);
輸出為:04 (表示04年)

m/mm/mmm/mmmm 表示月
FormatdateTime('m',now);
輸出為:8
FormatdateTime('mm',now);
輸出為 08
FormatdateTime('mmm',now);
輸出為 八月
FormatdateTime('mmmm',now);
輸出為 八月

和ddd/dddd 一樣,在其他國家可能不同yy/yyyy 表示年
FormatdateTime('yy',now);
輸出為 04
FormatdateTime('yyyy',now);
輸出為 2004,

h/hh,n/nn,s/ss,z/zzz 分別表示小時,分,秒,毫秒

t 以短時間格式顯示時間
FormatdateTime('t',now);
輸出為 10:17

tt 以長時間格式顯示時間
FormatdateTime('tt',now);
輸出為10:18:46

ampm 以長時間格式顯示上午還是下午
FormatdateTime('ttampm',now);
輸出為:10:22:57上午

大概如此,如果要......余下全文>>
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved