我需要做一些看起来很容易的事情,但我正在寻找没有成功的日子。我有一个固定大小的窗口(比如 500*250),需要用固定大小的 JPEG(或更好的 PNG)图像(比如 500*25)替换整个标题栏。有很多关于 Glass、Aero、DWM、等等等等的示例。但我只需要画一个固定的图像!
我已经尝试过了,但它不起作用:
procedure TForm1.Button1Click(Sender: TObject);
var
bmp:TBitmap;
DC:HDC;
begin
DC:=GetWindowDC(form1.Handle);
bmp:=tbitmap.Create;
bmp.SetSize(500, 25);
bmp.Canvas.TextOut(5,5,'Helloooooooooooooooooo');
BitBlt(dc,0,0,500,25,bmp.Canvas.Handle,0,0,SRCCOPY);
bmp.Free;
ReleaseDC(form1.Handle,DC);
end;
它应该可以在 XP 和 Vista/7 上运行。请帮忙。
PS:我有德尔福XE。