对窗体边框添加颜色后,当窗体被别的窗体覆盖后,窗体边框颜色就没了,我在paint事件里重画,结果产生闪烁,不知道如何解决

解决方案 »

  1.   

    如果实在不行,就可以使用panel代替。改下颜色,不要重画
      

  2.   

    procedure TFrm_main.Paint_Caption;                       //窗体边框颜色
    var
      ACanvas : TCanvas;
    begin
      ACanvas := TCanvas.Create;
      try
        ACanvas.Handle := GetWindowDC(self.Handle);
        ACanvas.Pen.Width:=5;
        ACanvas.Pen.Color:=$00F2D4BE;
        ACanvas.RoundRect(1,20,width-2,height-2,20,20);
      finally
        ReleaseDC(self.Handle, ACanvas.Handle);
        ACanvas.Free;
      end;
      self.Repaint;
    end;
      

  3.   

    我的窗体当不在最前面后,在看一下窗体的边框颜色就没了
    >>>这个很正常啊