gpt4 book ai didi

delphi - 在TComboBox中,如何使下拉菜单显示X,但是选择X时text属性变为Y?

转载 作者:行者123 更新时间:2023-12-03 19:04:43 25 4
gpt4 key购买 nike

我需要用户选择一个日期格式(dd / mm / yyyy或dd mmmm yyyy等),但是显示这些选项只会造成混淆。我想要做的是将TComboBox项填充为“ 14/09/2012”,“ 2012年9月14日”,“ 2012年9月14日星期五”等,当用户选择这些日期格式之一时,组合框就会文字“ dd mmmm yyyy”或其他日期格式(尽管我仍然希望他们能够输入“ d / m / yy”之类的其他内容)。

但是我还没有找到一种简便的方法-除了带有TSpeedButton的TEdit,它会打开一个带有选择选项的表单,如果没有使用TComboBox的方法,这是我的第二选择。

问题:如何使TComboBox下拉显示日期,但是选择日期时text属性获得日期格式?

最佳答案

所有者提取TCombobox怎么样?

procedure TForm16.cbLongDateFormatDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with Control as TComboBox do
begin
if not (odSelected in State) then
Canvas.Brush.Color:=clWindow
else
Canvas.Brush.Color:=clHighlight;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left +2 , Rect.Top, FormatDateTime(cbLongDateFormat.Items[Index], Now));
end;
end;

procedure TForm16.FormCreate(Sender: TObject);
begin
cbLongDateFormat.Items.Add('ddddd');
cbLongDateFormat.Items.Add('dddddd');
cbLongDateFormat.Items.Add('dd/mm/yyyy');
cbLongDateFormat.Items.Add('d mmmm yyyy');
end;

关于delphi - 在TComboBox中,如何使下拉菜单显示X,但是选择X时text属性变为Y?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12416696/

25 4 0