RAD Studio VCL Reference
|
Specifies the name of the component as referenced in code.
property Name: TComponentName;
__property TComponentName Name;
Use Name to change the name of a component to reflect its purpose in the current application. By default, the IDE assigns sequential names based on the type of the component, such as 'Button1', 'Button2', and so on.
Use Name to refer to the component in code.
C++ Examples:
/* For the following example, add a button, a status bar, and a list box to the form. Set the SimplePanel property of the status bar to true, using the object inspector. Also, populate the OnMouseUp event handler for the list box. The following code fills a list box with the names of all components on the form when the user clicks the button. References to the components themselves are inserted along with the names. The components are all inserted at the front of the list, so that the last component added to the form is the first component in the list. When the user right-clicks the name of an object in the list, the component’s coordinates are displayed on the status bar. Note that because we are using the right- click, the item need not be selected. */ void __fastcall TForm1::Button1Click(TObject *Sender) { for (int i = 0; i < ComponentCount; i++) ListBox1->Items->InsertObject(0, Components[i]->Name, dynamic_cast<TObject *>(Components[i])); } void __fastcall TForm1::ListBox1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if (Button == mbRight) { TClass ClassRef; int Index = ListBox1->ItemAtPos(Point(X,Y), true); // only components that are controls have a position // make sure the component is a control for (ClassRef = ListBox1->Items->Objects[Index]->ClassType(); ClassRef != NULL; ClassRef = ClassRef->ClassParent()) if (String(ClassRef->ClassName()) == "TControl") { TControl *TheObject = dynamic_cast<TControl *>(ListBox1->Items->Objects[Index]); StatusBar1->SimpleText = TheObject->Name + " is at (" + IntToStr(TheObject->Left) + ", " + IntToStr(TheObject->Top) + ")"; break; } if (ClassRef == NULL) // if it wasn't a control MessageBeep(0); } }
Delphi Examples:
{ For the following example, add a button, a status bar, and a list box to the form. Set the SimplePanel property of the status bar to true, using the object inspector. Also, populate the OnMouseUp event handler for the list box. The following code fills a list box with the names of all components on the form when the user clicks the button. References to the components themselves are inserted along with the names. The components are all inserted at the front of the list, so that the last component added to the form is the first component in the list. When the user right-clicks the name of an object in the list, the component’s coordinates are displayed on the status bar. Note that because we are using the right- click, the item need not be selected. } procedure TForm1.Button1Click(Sender: TObject); var I: Integer; begin for I := 0 to Form1.ComponentCount-1 do ListBox1.Items.InsertObject( 0, Form1.Components[I].Name, Form1.Components[I] as TObject); end; procedure TForm1.ListBox1MouseUp( Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: integer); var APoint: TPoint; Index: integer; TheObject: TControl; begin if Button = mbRight then begin APoint.X := X; APoint.Y := Y; Index := ListBox1.ItemAtPos(APoint, True); if (ListBox1.Items.Objects[Index] is TControl) then begin TheObject := (ListBox1.Items.Objects[Index] as TControl); StatusBar1.SimpleText := TheObject.Name + ' is at (' + IntToStr(TheObject.Left) + ', ' + IntToStr(TheObject.Top) + ') '; end else Beep; end; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|