打印本文 打印本文 关闭窗口 关闭窗口
Delphi之三十六计之界面篇
作者:武汉SEO闵涛  文章来源:敏韬网  点击数803  更新时间:2009/4/23 18:24:38  文章录入:mintao  责任编辑:mintao
  1.为MDI窗体客户区填充位图

//在主窗体中添加Image1控件

//申明

private

 FClientInstance : TFarProc;
 FPrevClientProc : TFarProc;
 procedure ClientWndProc(var Message: Tmessage);

//------------------------------

procedure TMainFrm.ClientWndProc(var Message: Tmessage);

var

  Dc : hDC;
  Row : Integer;
  Col : Integer;

 begin

  with Message do
  case Msg of

 WM_ERASEBKGND:

 begin

  Dc := TWMEraseBkGnd(Message).Dc;
  for Row := 0 to ClientHeight div Image1.Picture.Height do
  for Col := 0 to ClientWidth div Image1.Picture.Width do
   BitBlt(Dc,
    Col * Image1.Picture.Width,
    Row * Image1.Picture.Height,
    Image1.Picture.Width,
    Image1.Picture.Height,
    Image1.Picture.Bitmap.Canvas.Handle,
    0,
    0,
    SRCCOPY);
   Result := 1;

   end;

打印本文 打印本文 关闭窗口 关闭窗口