如何创建没有焦点 置顶的窗口,就像输入法的窗口那样的。(100分)

  • 主题发起人 主题发起人 yandong_mars
  • 开始时间 开始时间
Y

yandong_mars

Unregistered / Unconfirmed
GUEST, unregistred user!
具体说:例如有个记事本,另外我的窗口置顶 没有焦点 上面有各种按钮,没有编辑框。点击这个窗口和其中的按钮,并不影响记事本窗口的焦点。立刻用键盘输入文字获得文字内容的仍然是激活的记事本窗口。
 
设置FORM的KEYPREVIEW属性为TRUE<br>然后在KEYPRESS事件中写上<br>Self.SendToBack;<br>这样只能把焦点转移到EXPLORER,并没有实现你要的功能,希望对楼主能有所启发。<br><br>procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);<br>begin<br> &nbsp;Self.SendToBack;<br>end;
 
继续讨论阿 我是楼主阿
 
帮顶下,希望有高人出来解决下`
 
windows.SetParent(Me.Handle,TopHandle) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 我要喝酒
 
protected<br> &nbsp; &nbsp;procedure Createparams(var params: TCreateParams); override;<br><br>...<br><br>procedure TfmNotify.Createparams(var params: TCreateParams);<br>begin<br> &nbsp;inherited CreateParams(Params);<br> &nbsp;with params do<br> &nbsp;begin<br> &nbsp; &nbsp;Style:=WS_POPUP or WS_BORDER;<br> &nbsp; &nbsp;WndParent:=GetTaskBarWnd;<br> &nbsp; &nbsp;ExStyle := WS_EX_TOPMOST or WS_EX_NOACTIVATE or WS_EX_WINDOWEDGE;<br> &nbsp;end;<br>end;<br><br>WS_EX_NOACTIVATE &nbsp;就是,就这么简单
 
后退
顶部