![]() |
TEdit mit Rand
Hi,
ich würde gerne vom TEdit ableiten und will, dass nur in einem Bestimmten Bereich des Edits geschrieben wird, also z.B. sollen rechts 20 Pixel frei bleiben. Wie kann ich das machen? |
Re: TEdit mit Rand
Probiere das hier (z.B. in CreateWindowHandle nach inherited):
Delphi-Quellcode:
//Nachtrag: und nach WM_SETFONT/inherited solltest du es auch noch einmal setzen, da die VCL es zurücksetzt.
SendMessage(Edit1.Handle, EM_SETMARGINS, EC_RIGHTMARGIN, MAKELONG(0, 20));
|
Re: TEdit mit Rand
Super, das geht :thumb:
Danke! Und wenn ich den Rand jetzt auf der linken Seite haben will? Ich dachte, bei MAKELONG einfach die Parameter vertauschen, aber das klappt nich... |
Re: TEdit mit Rand
Delphi-Quellcode:
// Setzt den linken Rand
SendMessage(Edit1.Handle, EM_SETMARGINS, EC_LEFTMARGIN, MAKELONG(LinkerRand, 0)); // Setzt den rechten Rand SendMessage(Edit1.Handle, EM_SETMARGINS, EC_RIGHTMARGIN, MAKELONG(0, RechterRand)); // Setzt beide Ränder SendMessage(Edit1.Handle, EM_SETMARGINS, EC_LEFTMARGIN or EC_RIGHTMARGIN, MAKELONG(LinkerRand, RechterRand)); |
Re: TEdit mit Rand
Natürlich :wall: :wall: :wall:
Bin auch grad drauf gekommen. Hätt ich mir den Code nur mal durchgelesen... Es muss dann EC_LEFTMARGIN heißen. Also müsste ich dann so wieder die Standardeinstellungen zurücksetzen können? Ist denn 0 Standard?
Delphi-Quellcode:
SendMessage(Edit1.Handle, EM_SETMARGINS, EC_LEFTMARGIN or EC_RIGHTMARGIN, MAKELONG(0, 0));
|
Re: TEdit mit Rand
Wie die Standardwerte sind weiß ich nicht, kann sogar vom Theme abhängen (denke ich). Du könntest sie vorher mit EM_GETMARGINS sichern. Die VCL setze übrigens nach jedem erhaltenen WM_SETFONT die Ränder wieder auf Null, also ist das für Delphi sozusagen der Standardwert.
|
Re: TEdit mit Rand
Wie müssen denn bei EM_GETMARGINS die anderen Parameter aussehen ?
//Edit: Ich denke das mit 0 als Standard müsste schon in Ordnung gehen... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 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