C++builder6.0使用 _property关键字来实现Get,Set方法
__property int x = { read=Getx, write=Setx };
int __fastcall Getx();
void __fastcall Setx(int value);
VC++6.0 如何实现呢,和c++builder一样,也有一个扩展功能_declspec()
定义一个宏,就可以和c++builder一样的方便了。
VC6.0中的定义
#define __property(t,v,r,w) __declspec(property(r,w)) t v
这个宏的用法,在这里这个备忘记录:
class TButton : public CButton
{
protected:
DECLARE_MESSAGE_MAP()
public:
TButton();
__property(AnsiString,Text,get=GetText,put=SetText) ;
AnsiString GetText()
{
CString strText;
CButton::GetWindowText(strText);
return strText ;
}
void SetText(const AnsiString& val)
{
CButton::SetWindowText(val);
}
};
实际用法,就很方便了:
TButton btn ;
btn.Text = "我是按钮";
AnsiString Txt = btn.Text ;
本文详细介绍了如何在C++Builder 6.0和VC++6.0中使用_declspec和__property关键字实现类的Get和Set方法,通过宏定义简化了代码编写。实例演示了如何在TButton类中应用这些技术来操作文本属性。
1771

被折叠的 条评论
为什么被折叠?



