如何把一个THintWindow窗口提前?(100分)

  • 主题发起人 主题发起人 HLHGOD
  • 开始时间 开始时间
H

HLHGOD

Unregistered / Unconfirmed
GUEST, unregistred user!
我自己做了一个控件,类似delphi中的提示功能。功能如下:
在TEdit中录入字符时,会相应在旁边有一个THintWindow提示(在HintWindow上有一个StringGrid),但有时,这个THintWindow会被其它窗体遮住,假如我有THintWindow.BringToFront的话,焦点就会在THintWindow上去,而不是继续在TEdit中,有什么好的方法可以让THintWindow被遮住时自动跑到最前面,而焦点继续在TEdit中。
 
那你就先THintWindow.BringToFront,然后再把焦点设置到edit
 
可以在TEdit的Enter事件里手动创建的HintWindow做为提示。
 
设置FormStyle为fsStayOnTop可不可以?
 
用API函数setforegroundwindow
 
不行,这些方法都试过,只要一提前,TEdit中的焦点就消失了?
 
SetWindowPos(Handle, HWND_TOPMOST, Rect.Left, Rect.Top, Width, Height,
SWP_NOACTIVATE);<<---这个是最重要的参数
 
后退
顶部