F feng7504 Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-25 #1 我弟有一程序只有一个窗体,程序判断如果窗体不是当前活动窗体,那么设为活动,在网上找了一些相关代码SetActiveWindow,ShowWindow等,但是都不好使,并没有使标题栏变成激活的蓝色,请问各位高手如何解决这个问题,不胜感激.虽然showwindow等很多函数可以控制窗口,但是并不能将其设为当前活动窗口
我弟有一程序只有一个窗体,程序判断如果窗体不是当前活动窗体,那么设为活动,在网上找了一些相关代码SetActiveWindow,ShowWindow等,但是都不好使,并没有使标题栏变成激活的蓝色,请问各位高手如何解决这个问题,不胜感激.虽然showwindow等很多函数可以控制窗口,但是并不能将其设为当前活动窗口
B bjaman Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-25 #2 向该窗体发送激活窗体的消息:WM_SetActive(记不太清了,自己查一下)
C ctaxp Unregistered / Unconfirmed GUEST, unregistred user! 2006-10-26 #8 tmphandle:=FindWindow(nil, PChar('{这里是目标窗口的标题}'));//获取目标窗口的句柄<br>if tmphandle<>0 then //如果目标窗口存在,就执行下面代码<br>begin<br>SetWindowPos(tmphandle, HWND_TOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW or SWP_NOSIZE or SWP_NOMOVE); //tmphandle为目标窗口句柄<br>setactivewindow(tmphandle);<br>end;<br>以上是将目标窗口激活的完整示例,不管该目标窗口是什么状态,都会激活它(使它显到最前面).
tmphandle:=FindWindow(nil, PChar('{这里是目标窗口的标题}'));//获取目标窗口的句柄<br>if tmphandle<>0 then //如果目标窗口存在,就执行下面代码<br>begin<br>SetWindowPos(tmphandle, HWND_TOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW or SWP_NOSIZE or SWP_NOMOVE); //tmphandle为目标窗口句柄<br>setactivewindow(tmphandle);<br>end;<br>以上是将目标窗口激活的完整示例,不管该目标窗口是什么状态,都会激活它(使它显到最前面).
A adden_lian Unregistered / Unconfirmed GUEST, unregistred user! 2006-10-26 #9 ShowWindow(Handle, SW_SHOWNORMAL);<br> ShowWindow(Application.Handle, SW_SHOWNORMAL);<br><br>或<br><br> SetForegroundWindow(Application.Handle);<br> FrmMain.Show;
ShowWindow(Handle, SW_SHOWNORMAL);<br> ShowWindow(Application.Handle, SW_SHOWNORMAL);<br><br>或<br><br> SetForegroundWindow(Application.Handle);<br> FrmMain.Show;