とにかく、マウスを動かしてコントロールマウスがその上にあるのを見つけたときはありますか? いくつかのラベルとテキスト ボックスを含むダイアログがあり、マウスがラベルに移動した場合は、そのラベル名を通知し、テキスト ボックスに移動した場合はテキスト ボックス名を通知します。
1845 次
2 に答える
1
いくつかの調査の後、マウスカーソルがダイアログボックスのコントロールの上にあるかどうかを知らせるこのコードにたどり着きました。
//Handling mouse move in mfc dialog
void CDialogRoll::OnMouseMove(UINT nFlags, CPoint point)
{
CRect rect1;
m_FrameArea.GetClientRect(&rect1); //control rectangle
m_FrameArea.ClientToScreen(&rect1)
ScreenToClient(&rect1); //dialog coordinates`
if (point.x >= rect1.left && point.x <= rect1.right && point.y >= rect1.top &&
point.y <= rect1.bottom) {
char str[100];
sprintf(str, "%d-%d", point.x - rect1.left, point.y - rect1.top);
}
CDialogEx::OnMouseMove(nFlags, point);
}
于 2019-01-01T07:22:28.947 に答える