这是我写的两个更新label 的函数
void UpdateLable (FormType *frmP, UInt16 labelID, const Char *newLabel)
{
UInt16 objIndex = FrmGetObjectIndex (frmP, labelID);
FrmCopyLabel (frmP, labelID, newLabel);
}
void UpdateLable (FormType *frmP, UInt16 labelID, const UInt32 number)
{
Char newLabel[maxStrIToALen];
StrIToA (newLabel, number);
UpdateLable (frmP, labelID, newLabel);
}
完全可以更新label内容。
至于获取control的label,只需要调用
const Char *CtlGetLabel (const ControlType *controlP)
函数。
但是需要注意的是,Label在资源定义时需要考虑其字符串长度,也就是说,更新label的时候,新字符串的长度不能超过定义时的长度,否则会出错!
如果是更新Field,则比较复杂,需要为其字符串的handle 做较多考虑,不是要更改内容的话,建议还是用label吧。
或者参考我最近发的一个小帖子,里面放了一个我的小程序,有更新Field的内容,应该能用上。