论坛风格切换切换到宽版
  • 3420阅读
  • 0回复

求教:新创建窗体加载图片后鼠标拖动不了 [复制链接]

上一主题 下一主题
离线lionlove
 

发帖
9
金钱
90
威望
9
只看楼主 倒序阅读 0 发表于: 2015-01-13
在用INNO打包时,用WizardForm.BorderStyle:=bsNone;创建了一个新的无边框窗体,运用WizardForm.OnMouseDown:=@WizardFormMouseDown;函数后,新创建的窗体能用鼠标拖动。
其中WizardFormMouseDown函数是这样写的:
procedure WizardFormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Nun <> wpInstalling then
  begin
    ReleaseCapture
    SendMessage(WizardForm.Handle, WM_SYSCOMMAND, $F012, 0)
  end;  
end;
但是当我在这个新窗体中用ChangingImg := TBitmapImage.Create(WizardForm);创建新图片并加载后,发现在图片区域,鼠标拖动不了,请问这个是怎么回事,应该怎么做才能在图片区域拖动窗体
其中创建图片加载代码如下:
ChangingImg := TBitmapImage.Create(WizardForm);
    ChangingImg.Parent := WizardForm;
    ChangingImg.Left := ScaleX(0);
    ChangingImg.Top :=  ScaleY(30);
    ChangingImg.Width := ScaleX(634);
    ChangingImg.Height := ScaleY(284);
    ChangingImg.Stretch := True;
    ChangingImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MicrosoftClassic15.bmp'));
-----------------------------------------------------------
后来用插件botva2.dll的函数就能实现,如下:
function ImgLoad(Wnd :HWND; FileName :PAnsiChar; Left, Top, Width, Height :integer; Stretch, IsBkg :boolean) :Longint; external 'ImgLoad@files:botva2.dll stdcall';
请问这个函数是怎么实现的?怎么写这个代码?