GDI绘制矩形问题(急)

zzf19870622 2012-04-20 09:43:54
大家好,我想绘制一个矩形,其包含边界线,但需要矩形的背景色能让我自己配置。通过查询MSDN我知道Rectangle能在特定DC里面绘制一个矩形,其背景色我想就是这个DC的默认背景色。而FillRect能用相应画刷填充,但无边框。
我想做的是那种软键盘,里面的按键在不按下时为白色背景,黑色字体;而按下时为黑色背景,白色字体。我现在采用内存DC先绘制一个大键盘窗口,然后用Rectangle实现了没有按下时的图形,但下一步没有很好思路,希望大家帮忙看看,谢谢!
...全文
205 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
stjay 2012-04-20
  • 打赏
  • 举报
回复
CreatePen 创建画笔,用来画边框
SelectObject(hdc, 画笔);
CreateSolidBrush 创建画刷,用来填充内部
SelectObject(hdc, 画刷);
Rectangle
zzf19870622 2012-04-20
  • 打赏
  • 举报
回复
TO hdg3707:
谢谢你这么快的回答,你这些我已经明白了,唯一问题是绘图。我知道在鼠标按下时就得改变按键的背景色与字体的颜色,按键松开即恢复。现在整个键盘用内存DC绘制的,其背景色我可以设置,但该DC中的按键矩形我用Rectangle实现,所以其背景色无法实现。我在考虑是否也要用内存DC绘制每一个按键。
hdg3707 2012-04-20
  • 打赏
  • 举报
回复
这三个函数更新不同的颜色及文字和按钮的状态(比如凹凸不平),前提是得能判断出按钮的准确位置
hdg3707 2012-04-20
  • 打赏
  • 举报
回复
响应鼠标的按下和弹起及移动这三个函数,这三个函数只负责刷新不同的颜色

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧