窗体边框的颜色默认为蓝色,我想改一下,但不知道怎么改,请高手教我

解决方案 »

  1.   

    搜索一下就能找到答案:function HighlightWindow(pl_hwnd: Hwnd;cor:tColor):bool;
    var
      ll_hDC          : HDC;
      lu_RECT         : TRECT;
      ll_Pen          : HPen;
    begin
      GetWindowRect(pl_hWnd,lu_RECT);
      ll_hDC := GetWindowDC(pl_hWnd);
      ll_Pen := CreatePen(ps_solid, 6, cor);
      SelectObject(ll_hDC, ll_Pen);
     SelectObject(ll_hDC, GetStockObject(HOLLOW_BRUSH));
    Rectangle(ll_hDC, 0, 0, lu_RECT.Right - lu_RECT.Left, lu_RECT.Bottom - lu_RECT.Top);
      DeleteObject(ll_Pen);
      ReleaseDC(pl_hWnd, ll_hDC);
      result:=true;
    end;
      

  2.   

    type
      TForm1 = class(TForm)
      private
        { Private declarations }
        procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.WMNCPaint(var Msg: TWMNCPaint);
    var
      dc : hDc;
      Pen : hPen;
      OldPen : hPen;
      OldBrush : hBrush;
    begin
      inherited;
      dc := GetWindowDC(Handle);
      msg.Result := 1;
      Pen := CreatePen(PS_SOLID, 1, RGB(255, 0, 0));
      OldPen := SelectObject(dc, Pen);
      OldBrush := SelectObject(dc, GetStockObject(NULL_BRUSH));
      Rectangle(dc, 0,0, Form1.Width, Form1.Height);
      SelectObject(dc, OldBrush);
      SelectObject(dc, OldPen);
      DeleteObject(Pen);
      ReleaseDC(Handle, Canvas.Handle);
    end;