ClassesGetClass (C++)
Contents
Description
The following example allows you to type the name of a graphics class into an edit control; when a button is pressed, the name of the default extension for that class is displayed in another edit control. In the form's OnCreate event handler (or a similar place), you must register the graphics classes so that GetClass can find them.
Code
#include <memory> //For STL auto_ptr class
TMetaClass *MetaClass;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
std::auto_ptr<TClassFinder> myClassFinder(new TClassFinder(MetaClass, False));
TGraphicClass mygraphclass = (TGraphicClass) (myClassFinder->GetClass(Edit2->Text));
// TGraphicClass mygraphclass = (TGraphicClass) GetClass(Edit2->Text);
Edit1->Text = GraphicExtension(mygraphclass);
}
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
MetaClass = __classid(TIcon); // ico
RegisterClasses(&MetaClass, 0);
MetaClass = __classid(Graphics::TBitmap); // bmp
RegisterClasses(&MetaClass, 0);
MetaClass = __classid(TMetafile); // emf
RegisterClasses(&MetaClass, 0);
MetaClass = __classid(TShape); // no graphic extension
RegisterClasses(&MetaClass, 0);
MetaClass = __classid(TImage); // no graphic extension
RegisterClasses(&MetaClass, 0);
}
Uses
- System.Classes.TClassFinder.GetClass ( fr | de | ja )
- System.Classes.GetClass ( fr | de | ja )
- Vcl.Graphics.GraphicExtension ( fr | de | ja )
- System.Classes.RegisterClasses ( fr | de | ja )
- Vcl.Graphics.TGraphicClass ( fr | de | ja )