Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Editbereich verkleinern über EM_SETRECT geht nicht (https://www.delphipraxis.net/108380-editbereich-verkleinern-ueber-em_setrect-geht-nicht.html)

backdraft 12. Feb 2008 17:25


Editbereich verkleinern über EM_SETRECT geht nicht
 
Hallo,
ich habe ein merkwürdiges Problem. Ich bin mir ziemlich sicher, dass es vorher mal funktioniert hat.
Ich möchte in einem Edit Feld den Raum verkleinern in dem ich etwas eingeben kann.

Ich habe folgendes zum Testen probiert, was meiner Meinung nach funktionieren müsste.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Loc: TRect;
begin
  SendMessage(Edit1.Handle, EM_GETRECT, 0, LongInt(@Loc));
  dec(Loc.Right, 20);
  SendMessage(Edit1.Handle, EM_SETRECT, 0, LongInt(@Loc));
  SendMessage(Edit1.Handle, EM_GETRECT, 0, LongInt(@Loc));
end;
Leider steht nachher in der Variable Loc der selbe Wert wie beim ersten Mal.
Hab es auch schon mit der Botschaft EM_SETRECTNC versucht, geht auch nicht.

Wo ist mein Fehler?

taaktaak 12. Feb 2008 17:37

Re: Editbereich verkleinern über EM_SETRECT geht nicht
 
Moin, Moin,

Fehler ist wohl, dass Get/SetRect nur für mehrzeilige Edits vorgesehen sind (also z.B. MEMO und RICHEDIT). Für das Edit verwende ich EM_SetMargins...

backdraft 13. Feb 2008 08:56

Re: Editbereich verkleinern über EM_SETRECT geht nicht
 
Ok, dann war mein Fehler, dass ich irgendwann meinen Edit auf "ohne Multiline" in den CreateParams abgeändert habe.

Super, so funktioniert es bestens, Vielen Dank
Oliver


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz