Edit: Linken und rechten Rand setzen
Hinweis: der Pfad "contact/srr_cc.gif" wurde nicht gefunden!
Mit der folgende Prozedur setzt man den linken und rechten Randabstand eines Edit-Steuerelements.
Der Parameter EditHandle ist das Handle des Edit-Steuerelements, also z.B Edit1.Handle.
Der Parameter LeftMargin gibt den linken Randabstand an. Der Wert -1 kann benutzt werden um den linken Rand nicht zu verändern.
Der Parameter RightMargin gibt den rechten Randstand an. Der Wert -1 kann benutzt werden um den rechten Rand nicht zu verändern.
Die Prozedur kann schon in FormCreate aufgerufen werden. Der Aufruf muss nach jeder Änderung der Schriftart wiederholt werden, da die VCL die Ränder dann zurücksetzt.
procedure SetEditMargins(EditHandle: THandle; LeftMargin: Integer = -1;
RightMargin: Integer = -1);
var
code: Integer;
begin
code := 0;
if LeftMargin <> -1 then
code := code or EC_LEFTMARGIN
else
LeftMargin := 0;
if RightMargin <> -1 then
code := code or EC_RIGHTMARGIN
else
RightMargin := 0;
if code = 0 then
code := EC_USEFONTINFO;
SendMessage(Edit.Handle, EM_SETMARGINS, code, MAKELONG(LeftMargin, RightMargin));
end; |
Die aktuell gesetzten Randabstände ermittelt die folgende Prozedur:
procedure GetEditMargins(EditHandle: THandle; var LeftMargin, RightMargin: Integer);
var
margins: Integer;
begin
margins := SendMessage(Edit.Handle, EM_GETMARGINS, 0, 0);
LeftMargin := LOWORD(margins);
RightMargin := HIWORD(margins);
end; |
|