如何在mdi的背景图上画图,并且保证不闪烁(100分)

苍鹰

Unregistered / Unconfirmed
GUEST, unregistred user!
我要实现在mdi的背景上画图,但是无法消除闪烁,我用的的截获重画背景消息来
实现在mdi的 客户区画背景,但我想在背景上在画图,比喻画鼠标选中区的矩形边框。
但是闪烁太厉害,也用了缓冲技术,但是还是不行,不知那位有好的 方法。[:)]
 
好像有一个控件的,那个不会闪,忘记叫什么名了
 
你试一下这个
http://www.codelphi.com/hanyi/down/0931/mdiwallp.zip

其实我直接写的程序,好像也不闪烁!
procedure TForm1.FormCreate(Sender: TObject);
begin
myBitMap := TBitMap.Create;
MyBitMap.LoadFromFile('C:/11.bmp');
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
with Canvas do begin
Brush.Bitmap := Mybitmap;
FillRect(ClipRect);
Brush.Bitmap := nil;
end;
end;
 
就画一个鼠标选择框,那位能实现,说 一下方法 。
 
要利用子类化技术(delphi5.0中),利用SetWindowlong函数可以解决。在delphi6.0中可以直接支持了.
 
用shape控件化框,事实改变它的属性,不闪,我试过了,很好用的。
 
我要做一个类似Windows IExplore的程序,可以在 我的 Mdi 的客户区中提供
一些特定程序的快捷方式,并可以调整图标的显示位置。 就是 IExplore 的桌面
管理功能。谁有没有好的建议呀。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
504
import
I
顶部