![]() |
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:
Leider steht nachher in der Variable Loc der selbe Wert wie beim ersten Mal.
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; Hab es auch schon mit der Botschaft EM_SETRECTNC versucht, geht auch nicht. Wo ist mein Fehler? |
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... |
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 20:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz