no delphi eu tenho:
if Sender is TEdit then
begin
(Sender as TEdit).Color := clBlue;
end;
como posso fazer o mesmo no C++?
no delphi eu tenho:
if Sender is TEdit then
begin
(Sender as TEdit).Color := clBlue;
end;
como posso fazer o mesmo no C++?
Há mais de um meio de obter o mesmo efeito. Talvez um dos mais apropriados (e próximo do “is”) seja com dynamic_cast.
Exemplo:
BaseClass * object = new DerivedA;
if ( dynamic_cast<DeviredA*>( object ) )
// do something
else if ( dynamic_cast<DeviredD*>( object ) )
// do something else
// ...
Visto em: http://www.gamedev.net/topic/322781-c-instanceof/
Abraço.
TerraSkill, obrigado pela sua dica. Com base nela, eu consegui resolver dessa forma:
// ---------------------------------------------------------------------------
void __fastcall TForm3::Edit1Enter(TObject *Sender)
{
dynamic_cast<TEdit*>(Sender)->Color = clYellow;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Edit1Exit(TObject *Sender)
{
dynamic_cast<TEdit*>(Sender)->Color = clWindow;
}