Region的IsVisible步骤
Region的IsVisible方法
贴出部分代码,具体效果见图

这是在左键按下中响应的代码,目的是让点击左上角的三角形时弹出ID_WM_SLEEP对话框,点击左下角的时弹出ID_WM_TIMER对话框,其中m_left_top_rgn和m_left_bottom_rgn是在画三角形时用SetClip指定的Region,在debug版本下,程序能够很好的执行,鼠标判断都是OK的,但是在release版本下,执行就错乱了,三个if语句的判断全部为TRUE。。。。。。。。
真心求解,或者找到类似的替代方法也可以。。。
逛论坛的时间不多,穷人分数较少,大家莫见怪。
------解决方案--------------------
"code generation" :
“Struct mumber alignmenet”;“结构对齐” debug 和release 中的 设置 要 一致,如都为 8 字节
“Use run time Library” 要选对, 8个 库,要和 版本对应。
if (m_left_top_rgn.IsVisible(Point(point.x, point.y)/*, &gra*/))
{
SendMessage(WM_COMMAND, MAKEWPARAM(ID_WM_SLEEP,0));
}
else if (m_left_bottom_rgn.IsVisible(Point(point.x, point.y)/*, &gra*/))
{
SendMessage(WM_COMMAND, MAKEWPARAM(ID_WM_TIMER,0));
}
else if (m_main_rgn.IsVisible(Point(point.x, point.y)))
{
TRACE1("%d>>> mouse main button down\n", i++);
}
贴出部分代码,具体效果见图
这是在左键按下中响应的代码,目的是让点击左上角的三角形时弹出ID_WM_SLEEP对话框,点击左下角的时弹出ID_WM_TIMER对话框,其中m_left_top_rgn和m_left_bottom_rgn是在画三角形时用SetClip指定的Region,在debug版本下,程序能够很好的执行,鼠标判断都是OK的,但是在release版本下,执行就错乱了,三个if语句的判断全部为TRUE。。。。。。。。
真心求解,或者找到类似的替代方法也可以。。。
逛论坛的时间不多,穷人分数较少,大家莫见怪。
------解决方案--------------------
"code generation" :
“Struct mumber alignmenet”;“结构对齐” debug 和release 中的 设置 要 一致,如都为 8 字节
“Use run time Library” 要选对, 8个 库,要和 版本对应。