GetComponent (C++)

From RAD Studio Code Examples
Jump to: navigation, search

Description

This example uses a button and a group box on a form. When you click the button, the button is copied to the Clipboard and then retrieved from the Clipboard and placed in the new parent of the button, the group box. The name of the original button is changed to avoid having two components with the same name at the same time.

Code

__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
  // Register the TButton class so that the clipboard can
  // read and write button objects.
   TMetaClass *MetaClass = __classid(TButton);
   RegisterClasses(&MetaClass, 0);
}

#include <Clipbrd.hpp>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TButton *groupButton;
  // Copy the button to the clipboard.
  Clipboard()->SetComponent(Button1);
  // Rename the button that is still on the form.
  Button1->Name = "OriginalButton";
  // Now retrieve the button from the clipboard
  // and add it to GroupBox1.
  // Note that the clipboard button is named "Button1",
  // while the source button has been renamed
  //"OriginalButton".
  groupButton = (TButton *)Clipboard()->GetComponent(this, GroupBox1);
  groupButton->Top = Button1->Top + 30;
}

Uses