VC 使用SetCheck(TRUE)函数的注意事项
只有“可用”的窗口控件可以使用SetCheck(TRUE)函數(shù),而SetCheck(FALSE)沒有此限制。
如果控件“不可用”,使用SetCheck(TRUE)會(huì)使程序線程掛起,處于無響應(yīng)狀態(tài)。
為了防止此類問題出現(xiàn),可按如下方法重載SetCheck函數(shù):
void SetCheck(int nCheck)
{
??if(IsWindow(this->m_hWnd))
? {
???? BOOL bEnable = TRUE;
???? if(FALSE != nCheck)
???? {
???????? bEnable = this->IsWindowEnable();
???????? if(!bEnable)
???????? {
??????????? this->EnableWindow(TRUE);
???????? }
?????}
???? CButton::SetCheck(nCheck);
???? if(!bEnable)
?????{
???????? this->EnableWindow(FALSE);
?????}
? }
}
備注:如果能夠控制邏輯來保證SetCheck(TRUE)函數(shù)的正確使用,那么程序效率是更優(yōu)的。
????? 以上方法只是亡羊補(bǔ)牢,做為一種應(yīng)急手段而已,不值得提倡。
總結(jié)
以上是生活随笔為你收集整理的VC 使用SetCheck(TRUE)函数的注意事项的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 回归指令_用一条指令在新款 Mac 上找
- 下一篇: IsDlgButtonChecked()