社区
界面
帖子详情
请教用控件实现扑克牌序列的办法
YUNAJAPAN
2007-02-11 11:03:53
我用20个CStatic控件排一排显示扑克的bmp图,从左到右依次重叠,右边最高。但是我用数组从0到19 create、setbitmap之后的初始状态是好的,但是一点牌就跑到最上面来了,并且接受消息的顺序正好是反的,即一张牌被覆盖了一半,应该只点没覆盖的才响应,但是它整个区域都响应,不知如何做才能达到像QQ游戏里面的那种效果?
1.点击之后改变了叠放次序;2.重叠区域消息响应如何更改?
...全文
253
6
打赏
收藏
请教用控件实现扑克牌序列的办法
我用20个CStatic控件排一排显示扑克的bmp图,从左到右依次重叠,右边最高。但是我用数组从0到19 create、setbitmap之后的初始状态是好的,但是一点牌就跑到最上面来了,并且接受消息的顺序正好是反的,即一张牌被覆盖了一半,应该只点没覆盖的才响应,但是它整个区域都响应,不知如何做才能达到像QQ游戏里面的那种效果? 1.点击之后改变了叠放次序;2.重叠区域消息响应如何更改?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CharlesPrince
2007-02-14
打赏
举报
回复
好的方法是使用一种结构体:
struct YouCard
{
CRect CardRect;
CBitmap CardBmp;
BYTE CardLayer;
}
初始化时给它赋于相应的值
在OnLButtonClick函数中进行判断
GetCursorPos
判断是否在同一层
....
TurkeyCock
2007-02-13
打赏
举报
回复
用一个数组存放控件指针,点击时记住位置,再在OnPaint()里按顺序从左到右把20张牌重画一遍,被点击的牌画的时候把位置挪一下
不过不知道会不会有闪烁问题
raymonzhao
2007-02-13
打赏
举报
回复
子类化CStatic.PreTranslateMessage里做处理试试。设置一个标志量,控件是否在最上面,不在的话就不响应所有消息。如果你是Dlg的话,在Dlg的里面处理应该也可以。
YUNAJAPAN
2007-02-13
打赏
举报
回复
呵呵,我就是想偷懒哈,我在网上下了别人做的控件,一张牌一个,也是叠着放,它就蛮好的,不知道是怎么解决这个问题的,不过对鼠标的响应比较迟钝,而且有点小bug。
我想应该可以用控件实现的啊,像windows自带的纸牌,我就觉得是用控件实现的。
东文-桑晨
2007-02-12
打赏
举报
回复
你使用的是控件,当然会因为获得焦点而跑上来的。
用绘图的方法,在鼠标的WM_LButtonDown消息里面使用GetCursorPos();获取鼠标点击的点,
使用PtInRect()判断点击的是哪个区域,然后再响应
happyness44
2007-02-12
打赏
举报
回复
不要用控件,直接画图(用数组储存牌的位置),点击用PtInRegion判断区域做响应
C#
扑克牌
游戏源码详解:面向对象设计与工程实践
本文深入解析C#
实现
的
扑克牌
游戏源码,聚焦面向对象设计核心:Card与Deck的不可变值对象建模、Suit/Rank枚举的Flags特性应用、Hand类的延迟计算与缓存机制、基于策略模式的牌型判定引擎、GameSession有限状态机与Lock-Free并发控制,以及TDD驱动的高覆盖单元测试体系。强调可测试性、扩展性与生产就绪能力,涵盖MSBuild自动化构建、Serilog运行时监控及渐进式演进路径。
JavaScript
实现
C# ListBox前端排序
本文介绍用JavaScript
实现
C#后端ListBox
控件
前端排序功能。先展示C#后端排序方法,再给出JavaScript代码示例,利用DOM操作和排序算法对ListBox选项排序。还介绍了事件触发排序操作,最后强调要考虑性能优化和安全问题,体现了前后端协同作用。
面试总结+详细解答,从斗鱼Android开发二面被刷,架构师花费近一年时间整理出来的Android核心知识
本文讨论了Android开发中的热门技术,如Kotlin、热修复、插件化、Flutter,以及ANR、OOM和内存泄漏问题的解决方案。还涉及服务、线程使用、Android消息传递机制,以及
序列
化、包裹化、ViewStub优化、自定义
控件
设计模式和内存管理的最佳实践。
【C#】WPF
实现
经典纸牌游戏,适合新手入门
文章介绍了如何使用C#语言基于Unicode字符创建一个纸牌游戏。首先,创建了纸牌类来存储花色、数字和颜色信息。接着,讨论了布局设计,使用Canvas进行动态布局,并设置了不同区域。然后,详细说明了初始化过程,包括打乱牌堆和放置纸牌。最后,讲解了事件处理,如点击牌堆和拖动纸牌的逻辑。
2024年Android最新反思|Android 事件拦截机制的设计与
实现
(1),Android面试题整理
本文分享了作者作为Android开发者的十年经验,强调了系统化学习的重要性,介绍了事件分发机制,特别是事件拦截函数onInterceptTouchEvent在ScrollView中的应用,以及ACTION_CANCEL的作用。作者还推荐了学习资料清单,鼓励读者形成知识体系以提升技术能力。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章