Ajout de formats de presse-papiers

De RAD Studio
Aller à : navigation, rechercher

Remonter à Ajout d'éditeurs de composants


Par défaut, lorsque l'utilisateur choisit Copier lorsqu'un composant est sélectionné dans l'EDI, le composant est copié dans le format interne de Delphi. Il peut ensuite être collé dans une autre fiche ou module de données. Votre composant peut copier d'autres formats dans le Presse-papiers en redéfinissant la méthode Copy.

Par exemple, la méthode Copy suivante permet à un composant TImage de copier son image dans le Presse-papiers. L'image est ignorée par l'EDI de Delphi, mais elle peut être collée dans d'autres applications.

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);
}