SetEnumProp (C++)

From RAD Studio Code Examples
Jump to: navigation, search

Description

This example shows how to use GetEnumProp and SetEnumProp in order to check for visual components' properties and change them. This example uses two buttons, Button1 and Button2.

Code

void __fastcall TForm2::Button1Click(TObject *Sender)
{
	//Getting the current color of the workspace
	String currentPropColor = GetEnumProp(this,"Color");
	int currentColorInt = StrToInt(currentPropColor);

	//Getting the first button align enum and, if different,
	//setting it to alLeft
	String currentAlignProp = GetEnumProp(Button1, "Align");
	if (currentAlignProp != "alLeft")
	{
		 SetEnumProp(Button1, "Align", "alLeft");
	 }

	//Checking if the form background color was set.
	if(currentColorInt < 0)
	{
		currentColorInt = GetSysColor(COLOR_APPWORKSPACE);
	}

	//Setting the form background color as the negative value
	//of the current background color
	SetEnumProp(this, "Color",
				IntToStr((int)(clWhite - currentColorInt)));
}

void __fastcall TForm2::Button2Click(TObject *Sender)
{
	int p[5] = {clYellow, clGreen, clRed, clBlue, clBlack};
	SetEnumProp(this, "Color", IntToStr(p[random(5)]));

	//Getting the second button align enum and, if different,
	//setting it to alRight
	String currentAlignProp = GetEnumProp(Button2, "Align");
	if (currentAlignProp != "alRight")
	{
		 SetEnumProp(Button2, "Align", "alRight");
	 }
}

Uses