whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1547)

Database (90)
Files (137)
Forms (107)
Graphic (115)
IDE (21)
Indy (5)
Internet / LAN (131)
IntraWeb (0)
Math (76)
Misc (127)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (268)
VCL (243)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

42 Visitors Online


 
...set a date of a TDateTimePicker to blank?
Autor: Thomas Stutz
[ Print tip ]  

Tip Rating (16):  
     




{
 Use the DateTime_SetFormat API macro (put CommCtrl in the uses clause) to set
 the date to blank or a message.

 Then in the DateTimePicker OnCloseUp event handler set the format to what you
 want when a date has been selected, and the DTP will show the selected date.

 Attach an OnClick handler if you want it to open when you
 click on the edit control.
}

{
 Verwende das DateTime_SetFormat API Makro von der CommCtrl Unit, um den TDateTimePicker
 anfangs leer anzuzeigen oder um einen beliebigen String zu setzen.

 Wenn das OnCloseUp Ereignis vom TDateTimePicker aufgerufen wird, kannst du ein
 beliebiges Datums-Format setzen und der DateTimePicker zeigt es dann an.

 Damit man mit einem Click auf das Edit-Control den TDateTimePicker öffnen kann, kann man
 zusätzlich einen OnClick Handler hinzufügen, wo man dann den TDateTimePicker öffnet.
}

uses
  
CommCtrl;

var
  
FDTMDateEmpty: Boolean;

procedure TForm1.FormCreate(Sender: TObject);
begin
  
DateTime_SetFormat(DateTimePicker1.Handle,  '''Choose a date''');
  FDTMDateEmpty := True;
end;

procedure TForm1.DateTimePicker1CloseUp(Sender: TObject);
begin
  
DateTime_SetFormat(DateTimePicker1.Handle,  PChar('dd.MM.yy'));
end;

procedure TForm1.DateTimePicker1Click(Sender: TObject);
begin
  if 
FDTMDateEmpty then
  begin
    
DateTimePicker1.Perform(WM_KEYDOWN, VK_F4, 0);
    DateTimePicker1.Perform(WM_KEYUP, VK_F4, 0);
  end;
end;

procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
  
FDTMDateEmpty := False;
end;

 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners