我自己写了个组件,从TLabel继承,增加了一个UnderLine属性,实现加下划线功能。我想做好的组件在改变了UnderLine属性后(在设计期在属性面板中改或在运行期在代码中改),控件会增加下划线(UnderLine:=true)或去掉下划线(UnderLine:=false),也就是改了UnderLine属性,从TLabel继承下来的Font.style属性会发生改变。这就涉及到两个属性连动的问题,不知道怎么实现。

解决方案 »

  1.   

    private
     FUnderLine:Boolean;
     procedure SetUnderLine(Val:Boolean);
    ..
    published
     Property UnderLine:Boolean read FUnderLine write SetUnderLine;
    ......
    procedure TMyClass.SetUnderLIne(val:Boolean);
    begin
     if FUnderLIne<>val then
      begin
       FUnderLine:=val;
       if FUnderLine then
       begin
       //加你的下话线,或者去掉它。是通过改变字体吗?还是画条线呢?:)
       end;
       invalidate;//刷新
      end;
    end;