VB6.0中MsgBox函数的Bug

时间:2021-11-16 11:46:13

        这个Bug我发现已久但没有贴出来,今天贴出来与大家共享以下。

        MsgBox函数真的很方便,但大家不妨试试将一个Form(StartUpPosition设为2)用API函数SetWindowPos置于最上,然后在这个Form中调用MsgBox函数,怎么样,程序没反应了吧。

        其实它的原理很简单,MsgBox函数会打开一个模式窗口,但这个窗口并没有随着SetWindowPos置于最上而跟着置于最上,所以就会出现上述情况。

        解决的方法也很简单,MsgBox函数其实是API函数MessageBox的封装,大家如果设置窗口置顶的话就调用MessageBox函数而不是MsgBox函数,这样就解决了!(当然了,函数的hWnd参数要设置为当前窗口的hWnd咯^_^)