Zwischenablageformate hinzufügen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Komponenteneditoren hinzufügen


Wählt der Benutzer den Befehl Kopieren, während eine Komponente in der IDE ausgewählt ist, wird die Komponente standardmäßig im internen Format von Delphi kopiert. Sie kann dann in ein anderes Formular bzw. Datenmodul eingefügt werden. Indem Sie die Methode Copy überschreiben, können Sie für Ihre Komponente weitere Zwischenablageformate definieren.

Das folgende Beispiel ermöglicht einer TImage-Komponente, Ihre Grafik in die Zwischenablage zu kopieren. Die Grafik wird von der Delphi-IDE ignoriert, kann aber in andere Anwendungen eingefügt werden.

Delphi:

procedure TMyComponent.Copy;
var
  MyFormat : Word;
  AData,APalette : THandle;
begin
  TImage(Component).Picture.Bitmap.SaveToClipBoardFormat(MyFormat, AData, APalette);
  ClipBoard.SetAsHandle(MyFormat, AData);
end;

C++:

void __fastcall TMyComponentEditor::Copy(void)
{
    WORD AFormat;
    int AData;
    HPALETTE APalette;
    ((TImage *)Component)->Picture->SaveToClipboardFormat(AFormat, AData, APalette);
    TClipboard *pClip = Clipboard(); // don't clear the clipboard!
    pClip->SetAsHandle(AFormat, AData);
}