已知一个窗口的HWND,怎么创建以此窗口为Parent的另一个Form? 如题,这个HWND是通过参数传过来的。另外,还要保证这个新建Child窗口在它父窗口(HWnd窗口)上面。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SetParent(MainForm.Handle, ParentWnd) ==> 0失败,怎么办? 其实我是要在InstallShield中显示Delphi做的DLL中的窗口:function LicenceCheck(ParentWnd: HWnd): Boolean; StdCall;var MainForm: TFormMain;begin MainForm := TFormMain.Create(nil); if SetParent(MainForm.Handle, ParentWnd) = 0 then begin Result := False; Exit; end; Result := MainForm.ShowModal = mrOK; MainForm.Free; MainForm := nil;end;InstallShield 6.22 脚本: bzPassed = FALSE; dllName = SUPPORTDIR^"licencecheckdll.dll"; if UseDLL(dllName)=0 then bzPassed = LicenceCheck(GetWindowHandle(HWND_INSTALL)); endif; UnUseDLL(dllName); 我的目的是InstallShield调用DLL中这个函数后.窗口能显示在最上面,而现在跑下面去了。现在的问题是:Parent是设置成功了,但窗口显示不出来 application.CreateForm(tform2,form2);self.FormStyle:=fsMDIForm;form2.ParentWindow:=self.Handle;form2.Show; 如何取得句柄上对应值! 线程里的创建控件,控件的事件怎么触发?SPComm onreceivedate事件 DBGrid显示字段值的简单问题 這個報表怎么設計?(就這么多分了) 黄河在咆哮 黄河在咆哮 动态创建checkbox出问题了 Rave报表预揽的问题? 点击DBGRID的TITLE按钮,分别按’升序‘和’降序‘排列数据,降序的怎么做?解决了一定给分!!! 4路USB摄像头视频录像系统更新 关于数组去掉重复-----------为什么执行2次才次没有重复? 如何在一个3维的坐标上画点? 关于语法的一个小问题
失败,怎么办?
function LicenceCheck(ParentWnd: HWnd): Boolean; StdCall;
var
MainForm: TFormMain;
begin
MainForm := TFormMain.Create(nil);
if SetParent(MainForm.Handle, ParentWnd) = 0 then
begin
Result := False;
Exit;
end;
Result := MainForm.ShowModal = mrOK;
MainForm.Free;
MainForm := nil;
end;InstallShield 6.22 脚本:
bzPassed = FALSE;
dllName = SUPPORTDIR^"licencecheckdll.dll";
if UseDLL(dllName)=0 then
bzPassed = LicenceCheck(GetWindowHandle(HWND_INSTALL));
endif;
UnUseDLL(dllName); 我的目的是InstallShield调用DLL中这个函数后.窗口能显示在最上面,而现在跑下面去了。
现在的问题是:
Parent是设置成功了,但窗口显示不出来
self.FormStyle:=fsMDIForm;
form2.ParentWindow:=self.Handle;
form2.Show;