要做一个象《管家婆》或者《速达》界面那样的东东,用什么好呢?
当鼠标放上去的时候置亮,当鼠标移开的时候变暗。用什么控件好呢?
我用Timage 但是效果不好,图象总是闪,是什么原因呢?
我将过程写在Timage的mousemove里面。
Image1.picture.loadfromfile('c:\pic1.bmp');
然后又将过程写在事件写在TPanel的mousemove里面。
Image2.Picture.loadfromfile('c:\pic2.bmp');
哪位仁兄介绍个更好的方法。
不要用MouseMove事件
自己继承Timage控件封装CM_MouseEnter和CM_MouseLeave消息
procedure CMMouseEnter(var msg:tmessage);message CM_MOUSEENTER;
procedure CMMouseLeave(var msg:tmessage);message CM_MOUSELEAVE
procedure XXX.CMMouseEnter(var msg:tmessage);
var
obj:TObject;
begin
obj:=Tobject(msg.lParam);//鼠标所在的控件
if obj<>nil then
begin
//确定控件的类型
//你的处理
end;
end;
procedure XXX.CMMouseLeave(var msg:tmessage);
var
obj:TObject;
begin
obj:=Tobject(msg.lParam);//鼠标所在的控件
if obj<>nil then
begin
//确定控件的类型
//你的处理
end;
end;
不要用UDI.要加快显卡的显示速度请用DriectX,
用function BitBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC;XSrc, YSrc: Integer; Rop: DWORD): BOOL;
画出来!