高难问题!如何弹出一个窗口,但是不让它获得焦点?就象msn的弹出消息那样?
我是重载了CreateParams,让窗口总是在最上的,但是弹出时它会获得焦点,必须用鼠标点回之前的运行的程序,郁闷……
void __fastcall TBreakForm::CreateParams(TCreateParams ¶m)
{
//参数
//调用基类
TForm::CreateParams(Param);
//去掉窗口标题区
Param.Style=Param.Style & ~WS_CAPTION;
Param.Style=Param.Style | WS_POPUP;
//设为总在最上面
Param.ExStyle=Param.ExStyle | WS_EX_TOPMOST;
//消除任务栏上的form
Param.ExStyle=Param.ExStyle | WS_EX_TOOLWINDOW;
// 设Windows Owner为Desktop Window 即桌面 这样它就不受你的主窗口限制了 相当于把它过继给桌面了
Param.WndParent=GetDesktopWindow();
}