long CToubiDlg::OnInCoinMessage(WPARAM wp,LPARAM lp)
{ m_ticketbutton8.ShowWindow(SW_HIDE);
m_ticketbutton7.ShowWindow(SW_HIDE);
m_ticketbutton6.ShowWindow(SW_HIDE);
m_ticketbutton5.ShowWindow(SW_HIDE);
m_ticketbutton4.ShowWindow(SW_HIDE);
m_ticketbutton3.ShowWindow(SW_HIDE);
m_ticketbutton2.ShowWindow(SW_HIDE);
m_ticketbutton1.ShowWindow(SW_HIDE);
PostMessage(WM_STOPWORK);

}上面的代码中
m_ticketbutton8.ShowWindow(SW_HIDE);
m_ticketbutton7.ShowWindow(SW_HIDE);
m_ticketbutton6.ShowWindow(SW_HIDE);
m_ticketbutton5.ShowWindow(SW_HIDE);
m_ticketbutton4.ShowWindow(SW_HIDE);
m_ticketbutton3.ShowWindow(SW_HIDE);
m_ticketbutton2.ShowWindow(SW_HIDE);
m_ticketbutton1.ShowWindow(SW_HIDE);
是将8个按钮隐藏,WM_STOPWORK消息的处理时间比较长。但是执行OnInCoinMessage函数的结果时,这8个按钮确实隐藏了,
但是在完全隐藏之前,先变白了一下,然后才完全隐藏,请问这个问题怎样解决?

解决方案 »

  1.   

    试试看m_ticketbutton8.SendMessage(WM_SHOWWINDOW, (WPARAM)(FALSE), (LPARAM)(NULL));
    m_ticketbutton7.SendMessage(WM_SHOWWINDOW, (WPARAM)(FALSE), (LPARAM)(NULL));
    m_ticketbutton6.SendMessage(WM_SHOWWINDOW, (WPARAM)(FALSE), (LPARAM)(NULL));
    m_ticketbutton5.SendMessage(WM_SHOWWINDOW, (WPARAM)(FALSE), (LPARAM)(NULL));
    m_ticketbutton4.SendMessage(WM_SHOWWINDOW, (WPARAM)(FALSE), (LPARAM)(NULL));
    m_ticketbutton3.SendMessage(WM_SHOWWINDOW, (WPARAM)(FALSE), (LPARAM)(NULL));
    m_ticketbutton2.SendMessage(WM_SHOWWINDOW, (WPARAM)(FALSE), (LPARAM)(NULL));
    m_ticketbutton1.SendMessage(WM_SHOWWINDOW, (WPARAM)(FALSE), (LPARAM)(NULL));
      

  2.   

    在PostMessage之前插入下面代码看看 this->Invalidate();
    this->UpdateWindow();