对话框子控件隐藏问题,ShowWindow(SW_HIDE)不起作用了
我有两个按钮(IDC_START_CAPTURE和IDC_STOP_CAPTURE)和一个Picture控件(IDC_PICTURE)。
以下我简称START,STOP,PICTURE.
我想让START和STOP不能同时显示出来。START和PICTURE也不能同时显示。
我把STOP和PICTURE的visible属性设为false。所以初始状态下只有START按钮显示出来了。
在START按钮的单机事件中处理函数中,我将START按钮隐藏,将STOP和PICTURE控件显示出来。
void CameraWind::OnBnClickedStartCapture()
{
pCapture->Run();
GetDlgItem(IDC_START_CAPTURE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_PICTURE)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STOP_CAPTURE)->ShowWindow(SW_SHOW);
}
void CameraWind::OnBnClickedStopCapture()
{
GetDlgItem(IDC_STOP_CAPTURE)->ShowWindow(SW_HIDE);//无效
GetDlgItem(IDC_PICTURE)->ShowWindow(SW_HIDE); //无效
pCapture->Stop();
GetDlgItem(IDC_START_CAPTURE)->ShowWindow(SW_SHOW);//有效
UpdateWindow();
}
GetDlgItem(IDC_STOP_CAPTURE)->ShowWindow(SW_HIDE);//无效
GetDlgItem(IDC_PICTURE)->ShowWindow(SW_HIDE); //无效
pCapture->Stop();
GetDlgItem(IDC_START_CAPTURE)->ShowWindow(SW_SHOW);//有效
UpdateWindow();
this->Invalidate();