解决方案 »
- vc6.0的问题
- 为什么我需要显示调用OnPaint()图片才会显示出来?
- MFC基础问题 我在初始化函数中用了两个for语句 但是只执行一个 纠结啊
- 接收到的数据为什么不全?
- 求助
- 使用rename出错,在坛子里没有查找到相同错误,请大虾指点,多谢!
- 求助:有没有高手知道用什么组件可以打开s2格式的文件或能提供s2文件的格式描述文档?(急)
- dll工程编译出错,提示:cannot compile the file"********.def";no compile tools is associated with the file extention.
- ※※※※※※※ 找旺正正唱的那首奥运歌曲《永恒依然》※※※※※※
- 关于UNICODE_STRING
- vc与matlab混合编程,找不到matlab add-in?急啊
- BCG停靠窗口
分别取得不同菜单所在矩形。然后用CRgn::PtInRegion函数判断某点是否在此矩形内,其函数原型为:
BOOL PtInRegion(
int x,
int y
) const;
2、在类中定义两个long类型的变量m_lMouseMove、m_lClicked分别记录鼠标当前位置处于第几个菜单中和鼠标单击的是第几个菜单。
3、
void xxxx::Draw(Graphics* pGraphics)
{
pGraphics->FillRectangle(Brush,BoxList_Rect);//给BoxList画背景
for(long i=0;i<lCount;++i)
{
计算第i个菜单的Rect;
if(this->m_lMouseMove == i) pGraphics ->FillRectangle(Brush,Rect);
if(this->m_lSelected == i) pGraphics->FillRectangle(Brush,rt)
}
}4、
BOOL xxx::MouseMove(const POINT& pt)
{
for(long i=0;i<lCount;++i)
{
计算第i个菜单的Rect;
if(::PtInRect(&rtItem, pt))
{
this->m_lMouseMove = i;
return TRUE;
}
}
return FALSE
}BOOL xxx::Click(const POINT& pt,HWND hWndReflection,HWND hWndSelf)
{
for(long i=0;i<lCount;++i)
{
计算第i个菜单的Rect;
if(::PtInRect(&rtItem, pt))
{
this->m_lClicked = i;
return TRUE;
}
}
return FALSE}基本就是这个思路