如何是指定窗体为活动状态?(100分)

  • 主题发起人 主题发起人 feng7504
  • 开始时间 开始时间
F

feng7504

Unregistered / Unconfirmed
GUEST, unregistred user!
我弟有一程序只有一个窗体,程序判断如果窗体不是当前活动窗体,那么设为活动,在网上找了一些相关代码SetActiveWindow,ShowWindow等,但是都不好使,并没有使标题栏变成激活的蓝色,请问各位高手如何解决这个问题,不胜感激.虽然showwindow等很多函数可以控制窗口,但是并不能将其设为当前活动窗口
 
向该窗体发送激活窗体的消息:WM_SetActive(记不太清了,自己查一下)
 
ShowWindow 这个函数也可以。
 
这个问题我也想问
 
最简单的,模拟鼠标在窗口上点一下总该可以吧。
 
如果知道该窗口句柄就发送消息
 
你看下有个 任务栏的源码 获取当前窗口的,我昨天刚看的
 
tmphandle:=FindWindow(nil, PChar('{这里是目标窗口的标题}'));//获取目标窗口的句柄<br>if tmphandle&lt;&gt;0 then &nbsp;//如果目标窗口存在,就执行下面代码<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>以上是将目标窗口激活的完整示例,不管该目标窗口是什么状态,都会激活它(使它显到最前面).
 
ShowWindow(Handle, SW_SHOWNORMAL);<br> &nbsp;ShowWindow(Application.Handle, SW_SHOWNORMAL);<br><br>或<br><br> &nbsp; &nbsp;SetForegroundWindow(Application.Handle);<br> &nbsp; &nbsp;FrmMain.Show;
 
后退
顶部