Einzelnen Beitrag anzeigen

Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#2

AW: TRichEdit Zoom deaktivieren

  Alt 12. Apr 2013, 20:29
Hallo,

Du könntest einen der beiden folgenden Wege gehen
Delphi-Quellcode:
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;
oder
Delphi-Quellcode:
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;
Die erste Variante verhindert den Aufruf der Methode MouseWheelHandler (in TControl), die zweite wird von der Methode MouseWheelHandler angestoßen.

Vielleicht kannst Du es bei Dir in Deine TRichEditSpellCheck Klasse einbauen.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat