Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Hintergrundmenü eines Stringgrids (https://www.delphipraxis.net/161179-hintergrundmenue-eines-stringgrids.html)

MARGERSCH 21. Jun 2011 10:16

Hintergrundmenü eines Stringgrids
 
Über die Eigenschaft "PopupMenu" kann ich das Hintergrundmenü eines Stringgrids einstellen. Dies funktioniert aber nicht, wenn ich im Editiernmodus einer Zelle bin. Dann kommt nämlich ein Standardhintergrundmenü mit den Einträgen : "Rückgängig", "Ausschneiden", "Kopieren", "Einfügen", "Löschen" und "Alles Markieren stehen", neuerdings auch "Schreibrichtung von rechts nach links", "Unicode-Steuerzeichen anzeigen" und "Unicode-Steuerzeichen einfügen". Gibt es eine Möglichkeit, dieses Standardhintergrundmenü abzuschalten und durch mein Hintergrundmenü zu ersetzen ?

DeddyH 21. Jun 2011 10:57

AW: Hintergrundmenü eines Stringgrids
 
Ich habe das gerade unter Delphi 2007 versucht nachzuvollziehen, da tritt dieses Verhalten aber nicht auf, es wird immer das Popupmenu des StringGrids aufgerufen. Vielleicht geht als schmutziger Workaround aber so etwas:
Delphi-Quellcode:
type
  TStringGrid = class(Grids.TStringGrid)
  public
    property InplaceEditor;
  end;

  TControl = type Controls.TControl;

  TForm1 = class(TForm)

...

procedure TForm1.StringGrid1GetEditMask(Sender: TObject; ACol, ARow: Integer;
  var Value: string);
begin
  TControl(StringGrid1.InplaceEditor).PopupMenu := PopupMenu1;
end;

MARGERSCH 21. Jun 2011 12:12

AW: Hintergrundmenü eines Stringgrids
 
Das Problem tritt unter Delphi 2010 auf. Der vorgeschlagene Workaround funktioniert, danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20: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