CToolBar和SetTimer结合实现类似PhotoShop - pallet的延迟菜单输出效果
2005-10-13 19:59
597 查看
1) 自定义一个类从CToolBar继承
2)响应该类的
OnLButtonDown(UINT nFlags, CPoint point)
OnLButtonUp(UINT nFlags, CPoint point)
消息
3) LButtonDown 中处理 :
a) 通过 GetToolBarCtrl().HitTest(&Pt); 得到单击的 button 的序号
b) 通过 序号和资源id的映射关系设置当前选中的button 资源号
c) 设置 m_bDown 为 TRUE ,该变量表示了鼠标左键被击下
d) 判断如果我们想要的菜单没有显示出来,且我们还没有设置 Timer ,则设置 Timer
如下面的代码
if ( !m_bShow && !m_bTimeSet)
{
m_nTimer = SetTimer(1,4000,NULL);
m_bTimeSet = TRUE;
}
3) LButtonUp 中处理:
a) 设置 m_bDown 为 FALSE ,即鼠标左键提起
b) 判断,如果 没有菜单没有显示,且已经设置了 Timer,则将 Timer 取消,同时不管怎样,将菜
单显示设置为FALSE
if (!m_bShow && m_bTimeSet )
{
KillTimer(m_nTimer);
m_bTimeSet = FALSE;
}
m_bShow = FALSE;
4) OnTimer 函数
如果 鼠标左键击下,且 Timer也被设置
则 显示菜单,将 m_bShow 设置为True ( 避免一直按着鼠标重新设置 Timer )
if ( m_bDown && m_bTimeSet )
{
m_bShow = TRUE;
KillTimer(m_nTimer);
m_bTimeSet = FALSE;
//作我们要做的事情
}
2)响应该类的
OnLButtonDown(UINT nFlags, CPoint point)
OnLButtonUp(UINT nFlags, CPoint point)
消息
3) LButtonDown 中处理 :
a) 通过 GetToolBarCtrl().HitTest(&Pt); 得到单击的 button 的序号
b) 通过 序号和资源id的映射关系设置当前选中的button 资源号
c) 设置 m_bDown 为 TRUE ,该变量表示了鼠标左键被击下
d) 判断如果我们想要的菜单没有显示出来,且我们还没有设置 Timer ,则设置 Timer
如下面的代码
if ( !m_bShow && !m_bTimeSet)
{
m_nTimer = SetTimer(1,4000,NULL);
m_bTimeSet = TRUE;
}
3) LButtonUp 中处理:
a) 设置 m_bDown 为 FALSE ,即鼠标左键提起
b) 判断,如果 没有菜单没有显示,且已经设置了 Timer,则将 Timer 取消,同时不管怎样,将菜
单显示设置为FALSE
if (!m_bShow && m_bTimeSet )
{
KillTimer(m_nTimer);
m_bTimeSet = FALSE;
}
m_bShow = FALSE;
4) OnTimer 函数
如果 鼠标左键击下,且 Timer也被设置
则 显示菜单,将 m_bShow 设置为True ( 避免一直按着鼠标重新设置 Timer )
if ( m_bDown && m_bTimeSet )
{
m_bShow = TRUE;
KillTimer(m_nTimer);
m_bTimeSet = FALSE;
//作我们要做的事情
}
相关文章推荐
- Js实现京东无延迟菜单效果实例(demo)
- jQuery实现类似标签风格的导航菜单效果代码
- iOS开发资源:几个类似Path 2.0侧滑菜单的效果实现
- 旋转菜单和tab ,留着以后要实现类似效果时看
- Android HorizontalScrollView结合GridView实现类似网易新闻那样的栏目滑动效果
- jQuery实现类似标签风格的导航菜单效果代码
- iOS开发资源:几个类似Path 2.0侧滑菜单的效果实现
- android开发之&使用ViewPager加gridView实现菜单按钮分页滑动(类似QQ表情选择翻页效果)
- SlidingMenu和ActionBarSherlock结合做出出色的App布局,Facebook 和 Path 2.0 滑动式菜单都可以实现(android页面布局效果)
- SearchView结合Toolbar 筛选RecyclerView中的内容,类似知乎、google play实现的效果
- JS实现无限级网页折叠菜单(类似树形菜单)效果代码
- jquery实现类似以前凡客诚品右侧图文切换结合效果
- jQuery实现带延迟效果的滑动菜单代码
- jQuery实现带延迟效果的滑动菜单代码
- js实现类似菜单风格的TAB选项卡效果代码
- js实现类似菜单风格的TAB选项卡效果代码
- [置顶] 利用自定义View结合onTouchListener实现QQ侧滑菜单效果
- JS+CSS实现类似QQ好友及黑名单效果的树型菜单
- 【荐】JS实现类似星球仿flash效果的动态菜单
- CSS javascript 结合实现悬浮固定菜单效果