⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 使mdi窗口有一个背景图象或使它平铺.txt

📁 使MDI窗口有一个背景图象或使它平铺
💻 TXT
字号:
确定你已在在你的主窗体对象中加入了下面的变量: 
      FClientInstance : TFarProc; 
      FPrevClientProc : TFarProc; 


{ MDI的背景代码 } 
procedure TMainForm.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; 
        // 在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; 
      else // 传递其他消息
        Result := CallWindowProc(FPrevClientProc, 
                                 ClientHandle, 
                                 Msg, 
                                 wParam, 
                                 lParam); 
  end; 
end; 



- 在你的主窗体的OnShow事件中加入以下代码: 

  // MDI背景平铺代码,与WndProc链接 
    FClientInstance := MakeObjectInstance(ClientWndProc); 
    FPrevClientProc := Pointer(GetWindowLong(ClientHandle,GWL_WNDPROC)); 
    SetWindowLong(ClientHandle,GWL_WNDPROC,LongInt(FClientInstance)); 

- 现在你有一个背景了! 

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -