看程序开头:
type TSubControl = record  //
    SubSet: longint;
    name: Longint;
    TMP: longint;
    Mst: longint;
    ValveNew: Longint;
    ValveBack: Longint;
    Valvehot: Longint;
    Valvecool: Longint;
    Valveback2: Longint;
    ValveSteam: Longint;
    ValveFan: Longint;
    Auto: longint;
  end;SubControls[i].SubSet是自定义的,我不明白的就是TPanel后面带括号代表什么???怎么使用???

解决方案 »

  1.   

    SubSet应该是一个TPanel控件的句柄,即:Handle 
    这儿也许是定义了一个TPanel控件数组。
      

  2.   

    SubControls[i].SubSet是自定义的,我不明白的就是TPanel后面带括号代表什么???怎么使用???带括号表示类型的强制转换!
      

  3.   

    不过说是Longint能转换为一个TPanel,我倒也没有用过!
      

  4.   

    SubControls表示TSubControl记录类型的集合。
    其中SubSet(longint)代表一个TPanel的句柄。
    TPanel(SubControls[i].SubSet)表示将集合SubControls的第i+1个元素转化为TPanel。
    —————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Desire := '加不加分随你';
    —————————————————————————————————
           
      

  5.   

    是handle?
    那么SubSet为什么要声明成longint而不是THandle?
    关注
      

  6.   

    是这样的,那个程序把控件对象(指针)转换成整数放在SubSet分量中,然后又通过强制类型转换(TPanel(xxx))转换回来。其实SubSet不是TPanel也能执行成功,只要SubSet中是一个TControl派生类的对象指针转换的值。因为Visible属性是TControl定义的,而TPanel是TControl的派生类。
      

  7.   

    强烈建议楼主把源代码贴上来,太大的话发到我的信箱也行啊!!![email protected]