Компонент от TGraphicControl и его Caption
Я пишу компонент на основе TGraphicControl. И
хочу написать свойство Caption так, чтобы компонент обновлялся каждый раз после малейшего изменения свойства Caption в окне Object Inspector'a, наподобие стандартных компонентов в C++ Builder'е. Помогите, пожалуйста.
Вывод текста Canvas->TextOut(); только перед ее вызовом лучше грохни предыдущий caption. А чтоб отследить изменение в классе, надо написать __property
private
AnsiString FCaption;
void SetCaption(AnsiString _Caption)
{
FCaption=_Caption;
// был введен новый caption
// сюда допиши ф-ию, которая рисует то что надо
}
AnsiString GetCaption()
{
return FCaption;
}
public
__property AnsiString Caption={ read=GetCaption,write=SetCaption };
ну... вроде все
[ Это Сообщение было отредактировано MuToGeN в 2002-08-19 0413 ]
Цитата:
On 2002-08-19 0407, MuToGeN wrote
А что именно непонятно?
Вывод текста Canvas->TextOut(); только перед ее вызовом лучше грохни предыдущий caption. А чтоб отследить изменение в классе, надо написать __property
private
AnsiString FCaption;
void SetCaption(AnsiString _Caption)
{
FCaption=_Caption;
// был введен новый caption
// сюда допиши ф-ию, которая рисует то что надо
}
AnsiString GetCaption()
{
return FCaption;
}
public
__property AnsiString Caption={ read=GetCaption,write=SetCaption };
ну... вроде все
[ Это Сообщение было отредактировано MuToGeN в 2002-08-19 0413 ]
Простите, но у меня не работает обновление после малеишего изменения свойсва Caption, тем более объявленные в разделе Public свойсва не отображаются в окне Object Inspector.
Цитата:
On 2002-08-19 2020, Anonymous wrote
[quote]
On 2002-08-19 0407, MuToGeN wrote
А что именно непонятно?
Вывод текста Canvas->TextOut(); только перед ее вызовом лучше грохни предыдущий caption. А чтоб отследить изменение в классе, надо написать __property
private
AnsiString FCaption;
void SetCaption(AnsiString _Caption)
{
FCaption=_Caption;
// был введен новый caption
// сюда допиши ф-ию, которая рисует то что надо
}
AnsiString GetCaption()
{
return FCaption;
}
public
__property AnsiString Caption={ read=GetCaption,write=SetCaption };
ну... вроде все
[ Это Сообщение было отредактировано MuToGeN в 2002-08-19 0413 ]
Простите, но у меня не работает обновление после малеишего изменения свойсва Caption, тем более объявленные в разделе Public свойсва не отображаются в окне Object Inspector.
[/quote]
а, да... чтоб object inspector их отображал, они должны быть не public, а __published, попробуй. а насчет того что при изменении __property ничего не перерисовывается - понаставь breakpoint'ов да разберись, что и почем.