请问如何设置button和 BitBtn 控件的背景色 ??????????????????如何设置button和 BitBtn 控件的背景色 ,因为没有属性设置,请问如何设置背景色
解决方案 »
- 请教一个关于Listview重新排出序号的方法
- 用delphi实现判断当前窗体活动窗体是不是QQ登录窗体怎么写?
- 关于ToolBar的问题
- 请问如何用image实现存取图片(sql数据库),除了dbimage外,这种方法是否可行?
- ######任意钱数转换大写,开来帮忙啊!!¥¥¥¥¥¥
- 如何进行这样的数据备份?
- 帮朋友招聘程序员
- 多從表的問題
- 菜鸟请教:在treeview中建立树型结构
- 用OleContainer1将一个WORD文档存进数据库后如何将它从数据库中取出???
- 鼠标悬停于代码上时,出现的提示,尤其是括号里的数字--向高手请教
- 利用TDBChart来显示查询结果的图表,X轴有多个字段要如何处理?
找个控件吧
好象有个COLORBUTTON
用个IMAGE代替吧
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;
其实只要用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;
devexpress控件组都有按钮可以设