Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Windows Zwischenablage-fenster aufrufen? (https://www.delphipraxis.net/1338-windows-zwischenablage-fenster-aufrufen.html)

City Light 15. Nov 2002 15:48


Windows Zwischenablage-fenster aufrufen?
 
Hallo :hi:

mal wieder ich :-) vollgendes ,ich würde gerne das von Windows bekannte (Zwischenablage) Popupmenu aufrufen! wie der einer Memo!

Wer hat da einen Rat?

Grüße ,Tino

RomanK 15. Nov 2002 15:57

Welches PopupMenu Meinst du? Das des Explorers oder welches ?

City Light 15. Nov 2002 16:04

Nein der von der Memo oder Edit komponente unter Delphi!

Gruß ,Tino

Luckie 15. Nov 2002 16:37

Beim Edit und Memo ist das automatisch dabei, dafür sorgt Windows. Brauchst du es bei einer anderen Komponenete mußt du es selber implementieren.

City Light 15. Nov 2002 17:09

Ja ich brauch es für die Kompo. SynEdit ,aber wie geht das?

Luckie 15. Nov 2002 17:10

Erstell ein Popup-Menü, programmier es und dann weist du es im OI dem SynEdit zu. Ich kenne SynEdit nicht, aber es sollte die Eigenschaft haben, wie jede andere Komponente auch.

RomanK 15. Nov 2002 17:31

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.

City Light 15. Nov 2002 18:56

erstmal großen dank euch ,wenn ich was neues habe schreib ich

Grüße ,Tino


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:52 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 by Thomas Breitkreuz