用画刷画Edit背景颜色和字体颜色时运行一会字体就会消失,鼠标再点击又会出现字样

VinTelepathy 2018-12-11 10:02:57
...全文
226 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
VinTelepathy 2019-01-29
  • 打赏
  • 举报
回复
引用 9 楼 schlafenhamster 的回复:
不需要 FillSolidRect ,因为 OnEraseBkgnd(CDC* pDC) 会用 你返回的 hbr 来 FillSolidRect。

HBRUSH CDrawEditDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

switch (pWnd->GetDlgCtrlID())
{
case IDC_EDIT3:// CEdit
// COLORREF bkColor = 0x00000;
// CRect rcRect;
// pWnd->GetClientRect(&rcRect);
// pDC->FillSolidRect(rcRect, bkColor);
pDC->SetBkColor(0);
pDC->SetTextColor(RGB(0, 255, 0)); // 修改字体的颜色
return (HBRUSH)GetStockObject(BLACK_BRUSH);
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
谢谢,之前没看到
VinTelepathy 2018-12-25
  • 打赏
  • 举报
回复
引用 7 楼 schlafenhamster 的回复:
代码请用 文字 复制 !
HBRUSH CSneakerBotDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

switch (pWnd->GetDlgCtrlID())
{
case IDC_BOTRESULT:
COLORREF bkColor = 0x00000;
CRect rcRect;
pWnd->GetClientRect(&rcRect);
pDC->FillSolidRect(rcRect, bkColor);
pDC->SetBkColor(bkColor);
pDC->SetTextColor(RGB(0, 255, 0)); // 修改字体的颜色
return m_brush; // 返回背景色
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
schlafenhamster 2018-12-25
  • 打赏
  • 举报
回复
不需要 FillSolidRect ,因为 OnEraseBkgnd(CDC* pDC) 会用 你返回的 hbr 来 FillSolidRect。

HBRUSH CDrawEditDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

switch (pWnd->GetDlgCtrlID())
{
case IDC_EDIT3:// CEdit
// COLORREF bkColor = 0x00000;
// CRect rcRect;
// pWnd->GetClientRect(&rcRect);
// pDC->FillSolidRect(rcRect, bkColor);
pDC->SetBkColor(0);
pDC->SetTextColor(RGB(0, 255, 0)); // 修改字体的颜色
return (HBRUSH)GetStockObject(BLACK_BRUSH);
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
schlafenhamster 2018-12-13
  • 打赏
  • 举报
回复
代码请用 文字 复制 !
一彤 2018-12-13
  • 打赏
  • 举报
回复
刷新问题吧,背景把文字刷没了,背景刷新文字也要刷新
schlafenhamster 2018-12-11
  • 打赏
  • 举报
回复
点名请用 文字 复制 !
VinTelepathy 2018-12-11
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
建议用RichEdit 用 CHARFORMAT 来控制
Edit有什么方法可以这样做吗
VinTelepathy 2018-12-11
  • 打赏
  • 举报
回复
引用 2 楼 赵4老师 的回复:
Invalidate
在哪个地方用这个函数?初始化吗
赵4老师 2018-12-11
  • 打赏
  • 举报
回复
Invalidate
zgl7903 2018-12-11
  • 打赏
  • 举报
回复
建议用RichEdit 用 CHARFORMAT 来控制

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧