Also wenn du ein Popupmenu so erstellst( das ist das form als Text):
Delphi-Quellcode:
object PopupMenu1: TPopupMenu
Images = ImageList1
OwnerDraw = True
OnPopup = Bearbeiten1Click
Left = 477
Top = 79
object Ausschneiden2: TMenuItem
Caption = '&Ausschneiden'
SubMenuImages = ImageList1
OnClick = Ausschneiden1Click
end
object Kopieren2: TMenuItem
Caption = '&Kopieren'
OnClick = Kopieren1Click
end
object Einfgen2: TMenuItem
Caption = '&Einfügen'
OnClick = Einfgen1Click
end
object Lschen2: TMenuItem
Caption = 'Löschen'
OnClick = Lschen1Click
end
end
dann kannst du mit :
Delphi-Quellcode:
procedure TForm1.Bearbeiten1Click(Sender: TObject);
var
HasSelection: Boolean;
begin
Einfgen1.Enabled := Clipboard.HasFormat(CF_TEXT);
Einfgen2.Enabled := Einfgen1.Enabled;
HasSelection := richedit1.SelLength > 0;
Ausschneiden1.Enabled := HasSelection;
Ausschneiden2.Enabled := HasSelection;
Kopieren1.Enabled := HasSelection;
Kopieren2.Enabled := HasSelection;
Lschen1.Enabled := HasSelection;
Lschen2.Enabled := HasSelection;
end;
wenn man das Popupmenu aktiviert die Punkte disablen und enablen!
Und dann musst du noch die OnClick-Prozeduren einfügen:
Delphi-Quellcode:
procedure TForm1.Lschen1Click(Sender: TObject);
begin
richedit1.ClearSelection;
end;
procedure TForm1.Einfgen1Click(Sender: TObject);
begin
richedit1.PasteFromClipboard;
end;
procedure TForm1.Kopieren1Click(Sender: TObject);
begin
richedit1.CopyToClipboard;
end;
procedure TForm1.Ausschneiden1Click(Sender: TObject);
begin
richedit1.CutToClipboard;
end;
Isch nen bissle verwirrend, wenn du nen Problem damit hasch dann sags.