不是ONSHOW菜,而是你才菜。 首先你因该了解form生成是触发的事件的次序,然后你才能决定在哪儿家。 你这种做法是让我不知说什么好。给你一个例子: procedure WMERASEBKGND(var Msg: TWMEraseBKGnd); message WM_ERASEBKGND; procedure TMain_Frm.WMERASEBKGND(var Msg: TWMEraseBKGnd); var MDC: HDC; Ro, Co: Word; begin MDC := TWMEraseBKGnd(Msg).DC; for Ro := 0 to ClientHeight div Image1.Picture.Height do for Co := 0 to ClientWidth div Image1.Picture.Width do BitBlt(MDC, Co * Image1.Picture.Width, Ro * Image1.Picture.Height, Image1.Picture.Width, Image1.Picture.Height, Image1.Picture.Bitmap.Canvas.Handle, 0, 0, SRCCOPY); Msg.Result := 1; end;在这里用BITBLT或者其他的多可以
首先你因该了解form生成是触发的事件的次序,然后你才能决定在哪儿家。
你这种做法是让我不知说什么好。给你一个例子:
procedure WMERASEBKGND(var Msg: TWMEraseBKGnd); message WM_ERASEBKGND;
procedure TMain_Frm.WMERASEBKGND(var Msg: TWMEraseBKGnd);
var
MDC: HDC;
Ro, Co: Word;
begin
MDC := TWMEraseBKGnd(Msg).DC;
for Ro := 0 to ClientHeight div Image1.Picture.Height do
for Co := 0 to ClientWidth div Image1.Picture.Width do
BitBlt(MDC, Co * Image1.Picture.Width, Ro * Image1.Picture.Height,
Image1.Picture.Width, Image1.Picture.Height,
Image1.Picture.Bitmap.Canvas.Handle, 0, 0, SRCCOPY);
Msg.Result := 1;
end;在这里用BITBLT或者其他的多可以