Как отобразить полупрозрачный текст в элементе управления «Правка», который исчезает при вводе нового текста? - PullRequest
0 голосов
/ 10 ноября 2018

Я сделал следующий код, но что-то не работает.

unit Unit9;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, ExtCtrls;

type
  TForm9 = class(TForm)
    edt1: TEdit; 
    procedure FormCreate(Sender: TObject);        
  end;

var
  Form9: TForm9;

const
  EM_SETCUEBANNER = $1501;

implementation

uses
  Unit2;

{$R *.dfm}

procedure TForm9.FormCreate(Sender: TObject);
var
  Banner: String;
  buf: array [0..$ff] of Char;
begin
  Banner := UTF8Encode('Введите логин');
  Utf8ToUnicode(PWideChar(@buf), PAnsiChar(Banner), Length(Banner));
  SendMessage(edt1.Handle, EM_SETCUEBANNER, 0, Integer(@buf));
end;

end.

Например, как и на некоторых веб-сайтах, элемент управления редактированием отображает «Логин» до тех пор, пока что-то не будет написано.

image

...