如题〉在线等
解决方案 »
- 预祝大家圣诞快乐
- 可不可以把foxpro的数据库引擎编译到程序中去阿
- 关于设置控件的顺序
- ADSL上网,如何查询我的在互连网(外网)上的IP地址?
- 如何去掉图形下面的x轴,和y轴?
- 请问在窗体上已有网址,单击即可连接到该网页,用什么组件?急用!
- SQL-Server死锁问题!
- 请问如何获知Indy的IdHTTP下载Internet文件时的进度?
- 40分请教有关的SQL和ADOQUERY的两个问题
- DateTimepicker中的文本框字体颜色的改变?
- 对象重叠显示问题
- 兄弟们有问题了,关于函数访问的问题???????????????????????????????????????????????????????????????
form:TForm1;
begin
form:=TForm1.Create(nil);
form.showmodal;
form.free;
end;
请理解题意
请理解题意
你到底明白我的意思么
窗体最上显示我当然知道,我的意思是现在有个窗体已经最前显示了,当这个窗体调用一个opendialog对话框的时候,这个代开对话框没在最前面应该怎么解决?
1、响应TOpenDialog.OnShow事件;
2、在事件处理中调用 SetWindowPos( OpenDialog1.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOREDRAW );
function ForceForegroundWindow(HWND: HWND): Boolean;
var
ThreadID1, ThreadID2: DWORD;
begin
if HWND = GetForegroundWindow then
Result := True
else
begin
ThreadID1 := GetWindowThreadProcessId(GetForegroundWindow, nil);
ThreadID2 := GetWindowThreadProcessId(HWND, nil);
if ThreadID1 <> ThreadID2 then
begin
AttachThreadInput(ThreadID1, ThreadID2, True);
Result := SetForegroundWindow(HWND);
AttachThreadInput(ThreadID1, ThreadID2, False);
end
else
Result := SetForegroundWindow(HWND);
if IsIconic(HWND) then
ShowWindow(HWND, SW_RESTORE)
else
ShowWindow(HWND, SW_SHOW);
end;
end;
这个意思没有理解错误吧!你的窗体调用有问题!
只给你个Unit2调用Unit3的参考:
procedure TForm2.OpenForm3Click(Sender: TObject);
begin
Form3:=TForm3.Create(nil);
Form3.ShowModal;
Form3.Free;
end;procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
Form2:=nil;
end;//如果还是不能理解你的意思,一定是你的表达有问题了……
begin
Form2 := TForm2.create(nil);
if not isMessage1 then Form2.MessageType := 2;
//showmessage('showp()');
Form2.Show;
if frout then Form2.FormStyle:=fsStayOnTop ;
result := Form2.Handle ;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
showp(true);
end;看看是不是 你要的结果?
可最后一层的打开对话框就是显示不出来
,怪哉怪哉
你设置为bsdialog倒是可以了,不过最大最小化窗口还原窗口不见了,岂不是很郁闷,唉