当在 number 属性的文本框一直输入字母后,窗口的显示出现问题,不刷新,radio 不见了,下拉框按钮出现字母6,没有下拉箭头,代码如下:HBRUSH CDlgPcmStep1::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//return hbr;
switch (nCtlColor)
{
case CTLCOLOR_STATIC:
{
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = ::CreateSolidBrush(RGB(255, 255, 255));
pDC->SetTextColor(RGB(0,0,0));
return (HBRUSH) B;
}
case CTLCOLOR_LISTBOX:
{
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = ::CreateSolidBrush(RGB(255, 255, 255));
pDC->SetTextColor(RGB(0,0,0));
return (HBRUSH) B;
}
case CTLCOLOR_DLG :
{
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = ::CreateSolidBrush(RGB(255, 255, 255));
pDC->SetTextColor(RGB(0,0,0));
return (HBRUSH) B;
}
case CTLCOLOR_EDIT :
{
COLORREF color; if (( pWnd->GetDlgCtrlID() == IDC_EDIT_FNAME) ||
( pWnd->GetDlgCtrlID() == IDC_EDIT_LNAME) ||
( pWnd->GetDlgCtrlID() == IDC_EDIT_CITY) ||
( pWnd->GetDlgCtrlID() == IDC_COMBO_PROVINCE) ||
( pWnd->GetDlgCtrlID() == IDC_EDIT_ZIPA) ||
( pWnd->GetDlgCtrlID() == IDC_EDIT_ZIPB) ||
( pWnd->GetDlgCtrlID() == IDC_EDIT_YEAR) ||
( pWnd->GetDlgCtrlID() == IDC_COMBO_MONTH))
{
color = RGB(255, 255, 160);
}
else
{
color = RGB(255, 255, 255);
}
HBRUSH B = ::CreateSolidBrush(color);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(color);
return (HBRUSH) B;
}
default:
{
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = ::CreateSolidBrush(RGB(255, 255, 255));
pDC->SetTextColor(RGB(0,0,0));
return (HBRUSH) B;
}
}
return hbr;
}但如果直接在第2行返回就没有问题。这个对话框是白色背景。
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//return hbr;
switch (nCtlColor)
{
case CTLCOLOR_STATIC:
{
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = ::CreateSolidBrush(RGB(255, 255, 255));
pDC->SetTextColor(RGB(0,0,0));
return (HBRUSH) B;
}
case CTLCOLOR_LISTBOX:
{
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = ::CreateSolidBrush(RGB(255, 255, 255));
pDC->SetTextColor(RGB(0,0,0));
return (HBRUSH) B;
}
case CTLCOLOR_DLG :
{
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = ::CreateSolidBrush(RGB(255, 255, 255));
pDC->SetTextColor(RGB(0,0,0));
return (HBRUSH) B;
}
case CTLCOLOR_EDIT :
{
COLORREF color; if (( pWnd->GetDlgCtrlID() == IDC_EDIT_FNAME) ||
( pWnd->GetDlgCtrlID() == IDC_EDIT_LNAME) ||
( pWnd->GetDlgCtrlID() == IDC_EDIT_CITY) ||
( pWnd->GetDlgCtrlID() == IDC_COMBO_PROVINCE) ||
( pWnd->GetDlgCtrlID() == IDC_EDIT_ZIPA) ||
( pWnd->GetDlgCtrlID() == IDC_EDIT_ZIPB) ||
( pWnd->GetDlgCtrlID() == IDC_EDIT_YEAR) ||
( pWnd->GetDlgCtrlID() == IDC_COMBO_MONTH))
{
color = RGB(255, 255, 160);
}
else
{
color = RGB(255, 255, 255);
}
HBRUSH B = ::CreateSolidBrush(color);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(color);
return (HBRUSH) B;
}
default:
{
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = ::CreateSolidBrush(RGB(255, 255, 255));
pDC->SetTextColor(RGB(0,0,0));
return (HBRUSH) B;
}
}
return hbr;
}但如果直接在第2行返回就没有问题。这个对话框是白色背景。
解决方案 »
- 大量数据的存储与显示
- 请问在一个Dialog初始化时,怎样隐藏这个Dialog,不让我个Dialog显示?很急,请高后们帮帮忙。
- 100分求一截图程序源码
- 怎样取得SE_TCB_NAME权限?
- 急求ADO Field AppendChunk插入大字节数据的例子。
- 我如何写一个功能和性质与拨号向导导出一模一样的拨号连接,急死人了,多谢各位帮忙?
- Win2K中怎么样将一个域用户加入本机中的管理员组中?(用ADSI)
- 求救,這個題目,大家有什麽好思路啊
- 菜问题:什么叫线程池?
- SHGetFileInfo获取系统图标时,参数pszPath到底写什么好?
- 如何将 窗口中的内容存到 黑白的 bmp 文件中
- PS/2接口坏了,有什么办法解决?
-----------
DeleteObject???
释放的代码呢?你一直在CreateSolidBrush,每次进这个消息就创建一个,很快资源就耗尽了。