计算机等级考试的程序的模拟是有一个一直在顶端的工具条控制
计算机等级考试的程序是有一个一直在顶端的工具条控制程序信息窗口的显示与隐藏,不知道应该怎样实现那样的效果?
那个程序主窗口还可以再出现模态窗口,比如选择题的窗口的,而上面的工具条状窗口则可以失去焦点,想了好久没想到好办法....
大家来帮忙吧
[解决办法]
不知道我理解的对不对,错了请不要介意
// 重载 CreateParams 函数可以将窗体置于所有窗体最上方,但不能抵抗“显示桌面”按钮
void __fastcall TForm1::CreateParams(TCreateParams &Params)
{
TForm::CreateParams(Params);
Params.WndParent=NULL;
Params.ExStyle=Params.ExStyle|WS_EX_PALETTEWINDOW;
Params.Style=Params.Style&~WS_CAPTION|WS_POPUP;
}
//---------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
ShowWindow(Application-> Handle, SW_HIDE);
}
//---------------------------------------
void __fastcall TForm1::Panel1MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
ReleaseCapture();
SendMessage(Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);
}
//---------------------------------------
// API EnumAllWindows 可以帮你获得所有窗体
bool CALLBACK EnumAllWindows(HWND hWnd, long)
显示和隐藏就简单多了 ShowWindow 函数
ShowWindow (HWND, SW_HIDE);
[解决办法]
没错啊,就是两个窗口,其中一个是BorderStyle = bsToolWindow;始终显示在主窗口上面,就像BCB的属性编辑器.
[解决办法]
抵御“显示桌面”的窗口我也想知道呢,呵呵
[解决办法]
学习下,呵呵
[解决办法]
//让窗口总在桌面存在(哪怕按下显示桌面按钮)
void __fastcall TForm::CreateParams( Controls::TCreateParams &Params)
{
TForm::CreateParams( Params);
Params.WndParent = GetDesktopWindow();
Params.ExStyle|= WS_EX_TOPMOST|WS_EX_TOOLWINDOW;
}