睢
睢志强
Unregistered / Unconfirmed
GUEST, unregistred user!
我在 DLL 里写了个函数。
procedure GetTitle(Bitmap : HBITMAP; Var Color : TColor);stdcall;
begin
Mbitmap.Handle:=Bitmap;
Mbitmap.Canvas.Brush.Color := Clblue;
Mbitmap.Canvas.Font.Color := clWhite;
Mbitmap.Canvas.FillRect(Mbitmap.Canvas.ClipRect);
Mbitmap.Canvas.Font.Size := 11;
Mbitmap.Canvas.Font.Style := [fsBold];
Mbitmap.Canvas.FillRect(Rect(0,0,50,10));
Mbitmap.Canvas.TextOut(10,5,'时间');
end;
initialization
Mbitmap:=Tbitmap.Create;
finalization
Mbitmap.Free;
end.
在可执行程序中如下调用。
var
TempColor : TColor;
TempBitmap : Tbitmap;
begin
TempBitmap := Tbitmap.Create;
TempBitmap.Width := 300;
TempBitmap.Height := 60;
TempBitmap.Canvas.Brush.Color := clblue;
TempBitmap.Canvas.FillRect(TempBitmap.Canvas.ClipRect);
GetTitle(TempBitmap.Handle,TempColor);
image1.Picture.Bitmap.Canvas.Draw(0,0,TempBitmap);
TempBitmap.Free;
Panel22.Color := clred;
end;
可不知道为什么 这样执行就是没有结果。
似乎 TempBitmap 是空的 。
但是 SaveToFile 还能看到图。
如果在 image1.Picture.Bitmap.Canvas.Draw(0,0,TempBitmap);
前把 TempBitmap SAVE 再 Load 一下就一切正常了。
十分不解。
procedure GetTitle(Bitmap : HBITMAP; Var Color : TColor);stdcall;
begin
Mbitmap.Handle:=Bitmap;
Mbitmap.Canvas.Brush.Color := Clblue;
Mbitmap.Canvas.Font.Color := clWhite;
Mbitmap.Canvas.FillRect(Mbitmap.Canvas.ClipRect);
Mbitmap.Canvas.Font.Size := 11;
Mbitmap.Canvas.Font.Style := [fsBold];
Mbitmap.Canvas.FillRect(Rect(0,0,50,10));
Mbitmap.Canvas.TextOut(10,5,'时间');
end;
initialization
Mbitmap:=Tbitmap.Create;
finalization
Mbitmap.Free;
end.
在可执行程序中如下调用。
var
TempColor : TColor;
TempBitmap : Tbitmap;
begin
TempBitmap := Tbitmap.Create;
TempBitmap.Width := 300;
TempBitmap.Height := 60;
TempBitmap.Canvas.Brush.Color := clblue;
TempBitmap.Canvas.FillRect(TempBitmap.Canvas.ClipRect);
GetTitle(TempBitmap.Handle,TempColor);
image1.Picture.Bitmap.Canvas.Draw(0,0,TempBitmap);
TempBitmap.Free;
Panel22.Color := clred;
end;
可不知道为什么 这样执行就是没有结果。
似乎 TempBitmap 是空的 。
但是 SaveToFile 还能看到图。
如果在 image1.Picture.Bitmap.Canvas.Draw(0,0,TempBitmap);
前把 TempBitmap SAVE 再 Load 一下就一切正常了。
十分不解。