Einzelnen Beitrag anzeigen

Strict

Registriert seit: 24. Mär 2020
47 Beiträge
 
#3

AW: CustomEdit: TextHint immer sichtbar machen?

  Alt 19. Mai 2020, 17:00
Ich hatte eben ein Showmessage im If-Block. Wird angezeigt. Ich nutze wie hoffentlich die meisten 10.3u3.

Delphi-Quellcode:
unit dEdit;

interface

uses
 Winapi.Windows, Winapi.Messages, System.UITypes, System.SysUtils, System.Classes, Vcl.StdCtrls, Vcl.Graphics, Vcl.Controls, Dialogs,

 Vcl.Forms, Vcl.Menus, Winapi.CommCtrl, Vcl.Themes;

type
 TdEdit = class(TEdit)
 private
  FTextHintAlwaysVisible: Boolean;
  {Private-Deklarationen}
 protected
  {Protected-Deklarationen}
 public
  {Public-Deklarationen}
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;

  procedure DoSetTextHint(const Value: string); override;
 published
  {Published-Deklarationen}
  property TextHintAlwaysVisible: Boolean read FTextHintAlwaysVisible write FTextHintAlwaysVisible default True;
 end;

procedure register;

implementation

constructor TdEdit.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);

 FTextHintAlwaysVisible := True; // muss noch ausgewertet werden. Kommt alles später. Erstmal muss alles funktionieren.
end;

destructor TdEdit.Destroy;
begin
 inherited Destroy;
end;

procedure TdEdit.DoSetTextHint(const Value: string);
begin
 if CheckWin32Version(5, 1) and StyleServices.Enabled and HandleAllocated then
  SendTextMessage(Handle, EM_SETCUEBANNER, WPARAM(1), Value);
end;

procedure register;
begin
 RegisterComponents('dEdit', [TdEdit]);
end;

end.
  Mit Zitat antworten Zitat