关于控件的问题

nanhaizhixin 2010-10-15 11:17:45
我有一个Picture控件和一个static控件,当鼠标移动到Picture控件时,如何改变static控件的字体的颜色???请各位大牛赐教!
...全文
77 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-11-11
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
nanhaizhixin 2010-10-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 visualeleven 的回复:]
C/C++ code

BOOL bChange = FALSE;
BOOL CXXDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(WM_MOUSEMOVE == pMsg->message)
……
[/Quote]谢谢啊,解决了
Eleven 2010-10-15
  • 打赏
  • 举报
回复

BOOL bChange = FALSE;
BOOL CXXDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(WM_MOUSEMOVE == pMsg->message)
{
CRect rc;
GetDlgItem(IDC_STATIC_PICTURE)->GetWindowRect(rc);
CPoint pt(pMsg->pt);
if(rc.PtInRect(pt))
{
bChange = TRUE;
}
else
{
bChange = FALSE;
}
GetDlgItem(IDC_STATIC_TEXT)->Invalidate(TRUE);
}
return CDialog::PreTranslateMessage(pMsg);
}

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

// TODO: Change any attributes of the DC here
if((CTLCOLOR_STATIC == nCtlColor) && (IDC_STATIC_TEXT == pWnd->GetDlgCtrlID()))
{
if(bChange)
{
pDC->SetTextColor(RGB(255, 0, 128));
}
else
{
pDC->SetTextColor(RGB(0, 0, 0));
}
}
// TODO: Return a different brush if the default is not desired
return hbr;
}

15,978

社区成员

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

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