C++编辑框禁止编辑如何再变成灰色? 20
HBRUSHCSensorLXFaultIn::OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor){HBRUSHhbr=CDialog...
HBRUSH CSensorLXFaultIn::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_EDIT)//编辑框
{
pDC->SetTextColor(RGB(10,20,180));//编辑字体颜色
pDC->SetBkMode(TRANSPARENT);//设置背景为透明
return (HBRUSH)::GetStockObject(WHITE_BRUSH);
}
return hbr;
编辑框默认是禁止编辑的,这个时候是灰色,在勾选了对应的复选框变成可编辑后,按照上面的程序是设置成白色。然后勾掉复选框变成不可编辑后,这个编辑框还是白色。我想问问怎么让这个时候的编辑框变回灰色?
求指教!!! 展开
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_EDIT)//编辑框
{
pDC->SetTextColor(RGB(10,20,180));//编辑字体颜色
pDC->SetBkMode(TRANSPARENT);//设置背景为透明
return (HBRUSH)::GetStockObject(WHITE_BRUSH);
}
return hbr;
编辑框默认是禁止编辑的,这个时候是灰色,在勾选了对应的复选框变成可编辑后,按照上面的程序是设置成白色。然后勾掉复选框变成不可编辑后,这个编辑框还是白色。我想问问怎么让这个时候的编辑框变回灰色?
求指教!!! 展开
1个回答
展开全部
直接用GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE)不可以吗
更多追问追答
追问
在复选框中有这个语句,就是
if(IsDlgButtonChecked(IDC_CHECK1))
{
GetDlgItem(IDC_K_ONE)->EnableWindow(TRUE)
GetDlgItem(IDC_K_TWO)->EnableWindow(FALSE);
GetDlgItem(IDC_K_THREE)->EnableWindow(FALSE);
}
追答
if(IsDlgButtonChecked(IDC_CHECK1))
{
GetDlgItem(IDC_K_ONE)->EnableWindow(TRUE);
GetDlgItem(IDC_K_TWO)->EnableWindow(FALSE);
GetDlgItem(IDC_K_THREE)->EnableWindow(FALSE);
}
else
{
GetDlgItem(IDC_K_ONE)->EnableWindow(FALSE);
GetDlgItem(IDC_K_TWO)->EnableWindow(TRUE);
GetDlgItem(IDC_K_THREE)->EnableWindow(TRUE);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询