我的问题是这样的,我在一个线程内部处理的过程中得到一些数据,现在通过对话框显示给用户,然后想通过radio来得到用户的选择。如果我使用模式对话框,好像一个线程的对话框出来了,如果我不处理,界面的其他部分都不能处理了,所以我希望用非模式,因为我希望在用户不选择的情况下,还可以处理其他线程的界面。
现在就是,如何通过非模式对话框将用户选择的数据传递给他的父窗口,并且激发这个线程继续处理得到的数据,我看了一些贴子好象是要用到windows的消息机制,不知道对不对?如何实现,思路或者代码都可以,解决立即给分!
我是新手,请大家多多帮忙!
现在就是,如何通过非模式对话框将用户选择的数据传递给他的父窗口,并且激发这个线程继续处理得到的数据,我看了一些贴子好象是要用到windows的消息机制,不知道对不对?如何实现,思路或者代码都可以,解决立即给分!
我是新手,请大家多多帮忙!
在父窗口定义一个消息处理函数,当然还要有自己的消息定义
在非摸态窗口中使用findwindow函数找到父窗口,使用sendmessage函数向父窗口发送
WM_SDFSLFJSD=WM_USER+1000;
procedure sdfsdfsd(自己写参数);messsage WM_SDFSLFJSD;
------------------------------------
思绪
public
procedure Execute(out AUsefulInfo: AnyDataType);
e.g.
procedure Execute(out AUserName: string);
2:
public
function Execute: AnyDataType;
e.g.
function Execute: string;var
f: TfrmYourForm
UserName: string;
begin
f := TfrmYourForm.Create(nil);
try
f.Execute(UserName);
if UserName <> '' then
...
finally
f.Free;
end;
end;