首页 > 其他 > 详细

给控件属性,动态运行时赋值

时间:2015-11-02 11:40:37      阅读:194      评论:0      收藏:0      [点我收藏+]
procedure RMSetStrProp(aObject: TObject; const aPropName: string; ID: Integer);
var
  lStr: string;
  lPropInfo: PPropInfo;
begin
  lStr := RMLoadStr(ID);
  if lStr <> ‘‘ then
  begin
    lPropInfo := GetPropInfo(aObject.ClassInfo, aPropName);
    if lPropInfo <> nil then
      SetStrProp(aObject, lPropInfo, lStr);
  end;
end;

function RMGetPropValue(aReport: TRMReport; const aObjectName, aPropName: string): Variant;
var
  pi: PPropInfo;
  lObject: TObject;
begin
  Result := varEmpty;
  if aReport <> nil then
    lObject := RMFindComponent(aReport.Owner, aObjectName)
  else
    lObject := RMFindComponent(nil, aObjectName);

  if lObject <> nil then
  begin
    pi := GetPropInfo(lObject.ClassInfo, aPropName);
    if pi <> nil then
    begin
      case pi.PropType^.Kind of
        tkString, tkLString, tkWString:
          Result := GetStrProp(lObject, pi);
        tkInteger, tkEnumeration:
          Result := GetOrdProp(lObject, pi);
        tkFloat:
          Result := GetFloatProp(lObject, pi);
      end;
    end;
  end;
end;

 

给控件属性,动态运行时赋值

原文:http://www.cnblogs.com/CodeGear/p/4929637.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!