![]() |
TRichEdit Zoom deaktivieren
Hallo Leute,
ich habe ein "kleines" Problem an dem ich schon ein paar Stunden sitze. Ich möchte das automatische Zoomen in einem Richedit (linke Maustaste + Mausrad) deaktivieren. Es gibt keine Option dafür und das überschreiben der Methoden (OnMouseWheel) hat auch keinen Effekt. Mein 2. Ansatz war es die WndProc in meiner Ableitung zu überschreiben:
Code:
Das funktioniert leider nur zum Teil. Ein paar Messages werden abgefangen, aber nicht alle. So kann man durch wildes Klicken und Scrollen immer noch zoomen...
procedure TRichEditSpellCheck.WndProc(var Message: TMessage);
const EM_SETZOOM = (WM_USER + 225); begin if Message.Msg <> EM_SETZOOM then inherited; end; Hat Jemand eine Idee? |
AW: TRichEdit Zoom deaktivieren
Hallo,
Du könntest einen der beiden folgenden Wege gehen
Delphi-Quellcode:
oder
type
TRichEdit = class (Vcl.ComCtrls.TRichEdit) private procedure WMMouseWheel (var Msg : TWMMouseWheel); message WM_MOUSEWHEEL; end; TForm1 = class(TForm) RichEdit1: TRichEdit; private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TRichEdit.WMMouseWheel (var Msg : TWMMouseWheel); begin if not (ssShift in TCMMouseWheel (Msg).ShiftState) then inherited; Msg.Result := 0 end;
Delphi-Quellcode:
Die erste Variante verhindert den Aufruf der Methode MouseWheelHandler (in TControl), die zweite wird von der Methode MouseWheelHandler angestoßen.
type
TRichEdit = class (Vcl.ComCtrls.TRichEdit) private procedure CMMouseWheel (var Msg : TMessage); message CM_MOUSEWHEEL; end; TForm1 = class(TForm) RichEdit1: TRichEdit; private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TRichEdit.CMMouseWheel (var Msg : TMessage); begin if Msg.WParamLo and MK_CONTROL = 0 then Msg.Result := 0 else Msg.Result := 1 end; Vielleicht kannst Du es bei Dir in Deine TRichEditSpellCheck Klasse einbauen. Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 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