怎样在一个窗体showmodal后,让程序继续执行下面的代码

怎样在一个窗体showmodal后,让程序继续执行下面的代码,第1张

若何应用Show办法来显示一个模态窗口 我们知道在Delphi中显示一个窗口有两皮祥种方法,模态方法显示(ShowModal)和链罩非模态方法显示(Show),模态方法显示窗口时,必须在自身封闭后才能使父窗口起感化,但有时我们想要实现一个窗口,既要具有模态窗口的特点,但又要能大大父窗口中控制它,如显示一个表示处理进行过程的进度框。应用棚握闹DisableTaskWindows和 EnableTaskWindows 可以达到这一效不雅。 下面是演示实现法度榜样: procedure TForm1.ShowProgressDlg{轮回停止} var WindowList: Pointerbegin end{除了Form2外使所有窗口无效} WindowList := DisableTaskWindows(Form2.Handle)try Form2.Show{轮回履行义务} Form2.ProgressBar1.Position := Form2.ProgressBar1.Position + 1finally {从新使所有窗口有效} EnableTaskWindows(WindowList)Form2.Closeend 查看原帖>>

你可以在formcreate里写 ,因为create函数调用早搏袜时窗口还没有显示那,此时form2.showmadal只会显示form2,因为是模态显示,知道form2退出模态才会显示主窗口,所以你这段代码只要写在 formcreate中就行了,双击主窗口,就会自动创建,这个事件响应函数,把你的代码复制进去就行。。。。

另一个方法,你可以让登陆程序是一个单独的exe(多数比较大的程序都是这样,因为应用程陆激序装载麻烦,如果你密码输不对程序就白打开了,所以是登陆器是单独的),单独的exe,登陆成功后,由登陆器主动打开应用程序,并发送约定的验银消证码,如果验证码不对(程序自动关闭),正确了,登陆程序关闭,还有一个好处就是你不必为你开发的所有程序都单独做一个登陆程序,这个可以通用。。。。

在我们编罩慧制Delphi应用程序 常常需要提供一个密码验证框 对应用程序的使用者进行身份核对 如果能有一个通用的密码验证框 便能够为我们的工作节约不少的时间 更能使我们编制的程序小而快 以下的程序为你提供了这样的一个DLL文件  

//文件名为CheckPasswordForm dpr编译此文件生成CheckPasswordForm dll     library CheckPasswordForm

    uses       XcqCheck in XcqCheck pas {XcqForm}

    exports       CheckPassword name CheckPassword //dll入口含正

    begin     end

    //文件名为XcqCheck pas     unit XcqCheck

    interface

    uses       Windows Messages SysUtils Classes Graphics Controls Forms Dialogs       StdCtrls Mask Menus

    type       TXcqForm = class(TForm)       XcqEdit: TMaskEdit//密码输入框       OkBtn: TButton      procedure OkBtnClick(Sender: TObject)    end

    var       XcqForm: TXcqForm      Check: Boolean//验证输入密码的正确性       function CheckPassword: Booleanexport//本dll文件的关键实现

    implementation

    {$R * DFM}

    procedure TXcqForm OkBtnClick(Sender: TObject)    begin       if XcqEdit Text = xcq then         Check := True      Close    end

    function CheckPasswordexport    begin       Check := False      XcqForm := TXcqForm Create(Application)//创建密码输入框       XcqForm ShowModal//显示密码输入框  注意 不能用XcqForm Show! Result := Check//返回给调用本dll的应用程序判断 XcqForm Free//释放本dll文件所占资源     end    end

在调用以上dll中CheckPassword函数的应用程序中只需加入以下语句在implementation 后 function CheckPassword: Booleanexternal CheckPasswordForm dll name CheckPassword 在需要进行密码验证的地方加入下面的条件语句就完全实现了密码验证的功能       if CheckPassword then      begin       //如XcqQuery Open  谈闷悔  end

lishixinzhi/Article/program/Delphi/201311/25037


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12380356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存