请问如何设置button和 BitBtn 控件的背景色 ??????????????????如何设置button和 BitBtn 控件的背景色 ,因为没有属性设置,请问如何设置背景色 

解决方案 »

  1.   

    就没有这个属性
    找个控件吧
    好象有个COLORBUTTON
      

  2.   

    不能设的,
    用个IMAGE代替吧
      

  3.   

    button的
    Procedure TForm1.MyBtnWndProc( Var msg : TMessage );
    Var hdcBtn : HDC;
        btnCanvas : TCanvas;
        pic : TBitmap;
        bmp : TBitmap;
    Begin
      OldBtnProc( msg );
      If (msg.Msg = BM_SETSTATE) Or (msg.Msg = WM_PAINT) Then
      Begin
        hdcBtn := GetDC( Button1.Handle );
        btnCanvas := TCanvas.Create;
        pic := TBitmap.Create;
        bmp := TBitmap.Create;
        bmp.Width := Button1.Width;
        bmp.Height := Button1.Height;
        Try
          btnCanvas.Handle := hdcBtn;
          BitBlt( bmp.Canvas.Handle, 0, 0, bmp.Width, bmp.Height, btnCanvas.Handle, 0, 0, SRCCOPY );
          bmp.TransparentColor := GetSysColor(COLOR_BTNFACE);
          bmp.Transparent := True;
          pic.LoadFromFile( 'c:\win95\sandstone.bmp' );
          btnCanvas.Draw(0,0, pic );
          btnCanvas.Draw(0,0,bmp );
        Finally
          bmp.Free;
          pic.Free;
          btnCanvas.Free;
          ReleaseDC( Button1.Handle, hdcBtn );
        End;
      End;
    End;
      

  4.   

    zhlwyy(海龙)  你的是不是用图片的??
      

  5.   

    无需第三方控件啦 当然这方面的控件很多啦
    其实只要用canvas即可以很容易实现啦 
    下面是实现代码
    //----阴影效果----
    procedure TForm1.Button2Click(Sender:TObject);
    var
    x,y,i:integer;
    begin
    x:=0;y:=0;
    form1.canvas.pen.width:=1;
    fori:=0to8do
    begin
    form1.canvas.pen.color:=$00a0a0a0;
    form1.canvas.moveto(Button1.left+Button1.width+x,
    Button1.top+y);
    form1.canvas.lineto(Button1.left+Button1.width+x,
    Button1.top+button1.height+y);
    form1.canvas.pen.color:=$00606060;
    form1.canvas.moveto(Button1.left+x,
    Button1.top+Button1.height+y);
    form1.canvas.lineto(Button1.left+Button1.width+x,
    Button1.top+button1.height+y);
    x:=x+1;
    y:=y+1;
    end;
    end;
    procedure TForm1.Button3Click(Sender:TObject);
    var
    x,y,i:integer;
    begin
    x:=0;y:=0;
    form1.canvas.pen.width:=1;
    fori:=0to8do
    begin
    form1.canvas.pen.color:=$00404040;
    form1.canvas.moveto(Button1.left+Button1.width+x,
    Button1.top+8);
    form1.canvas.lineto(Button1.left+Button1.width+x,
    Button1.top+button1.height+8);
    form1.canvas.moveto(Button1.left+8,
    Button1.top+Button1.height+y);
    form1.canvas.lineto(Button1.left+Button1.width+8,
    Button1.top+button1.height+y);
    x:=x+1;
    y:=y+1;
    end;
    end;
      

  6.   

    Raize
    devexpress控件组都有按钮可以设