用mfc实现梦想 在wince下 按一个钮 换图片功能

wince mfc 按钮自绘闪烁问题
[问题点数:100分,结帖人adrian_bleu]
wince mfc 按钮自绘闪烁问题
[问题点数:100分,结帖人adrian_bleu]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。添加global快捷键,以对话框程序为例:在OnInitDialog中添加注册热键的代码:&RegisterHotKey(GetSafeHwnd(),1001,NULL,VK_F2);//F2键&RegisterHotKey(GetSafeHwnd(),1002,MOD_ALT,'A');//Alt+A键&在&BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)&...&END_MESSAGE_MAP()&中添加WM_HOTKEY的消息映射:&ON_MESSAGE(WM_HOTKEY,&CXXXDlg::OnHotKey)//快捷键消息映射手动加入&在头文件中添加OnHotKey的声明:&protected:&afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);//手动加入.CPP中OnHotKey的实现代码://相应快捷键的消息映射&LRESULT CXXXDlg::OnHotKey(WPARAM wParam,LPARAM lParam)&{&&&& if(wParam ==1001)&&&& {&&&&&&&&& MessageBox(&热键F2已经按下!&);&&&&&&&& //这里可以加上你按钮要执行的操作,或者直接调用按钮映射的消息函数&&&& }&&&& else if (wParam==1002)&&&& {&&&&&&&& MessageBox(&热键ALT+A已经按下!&);&&&& }&&&& return 0;&}&关闭对话框时使用&UnregisterHotKey(GetSafeHwnd(),1001);//注销F2键&UnregisterHotKey(GetSafeHwnd(),1002);//注销Alt+A键&注销热键.
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:10641次
排名:千里之外
原创:16篇
(1)(1)(3)(5)(5)(8)兄弟MFC-7360一体机使用说明书(基本功能)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
72页2下载券159页1下载券3页1下载券3页1下载券5页免费6页免费1页免费1页1下载券1页免费15页1下载券
喜欢此文档的还喜欢72页免费3页1下载券4页免费23页1下载券5页免费
兄弟MFC-7360一体机使用说明书(基本功能)|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢2478人阅读
&MFC图形按钮/自定义颜色 收藏 &CButton样式BS_ICON---BS_BITMAP,然后利用::SetIcon(hIcon)
控件自定义颜色,在.net之前的windows控件体系结构中,一个缺陷是没有办法修改控件的颜色。
在MFC中,利用了控件自我绘制之前给父窗口发送的WM_CTLCOLOR消息。
MFC ON_WM_CTLCOLOR--------afx_msg HBRUSH OnCtlColor(.......){//set color code here}
another way:
&& use MFC ----ON_WM_CTLCOLOR_REFLECT ___消息反射宏,把消息WM_CTLCOLOR反射回控件自身,
由控件自身处理,适应于自定义控件。afx_msg HBRUSH& CtlColor(.......){//set color code here}
ON_CONTROL_REFLECT(...,...)消息反射宏---339
本文来自CSDN博客,转载请标明出处:
MFC按钮问题 用自己的图片制作1个按下去是一张图 弹起来是另一张图 并且能够重复使用
昨天问了有关按钮的问题 觉得还是不懂
刚接触VC不久 目前的程度是会用CButton和CBitmapButton制作按钮
但无法让它们做出按下去不弹起 再按一下重新弹起 的效果
昨天在这问了一下后得到2个思路
1.用对话框直接做个按钮,然后通过设置setstate来达到效果
但用了这个以后我不知道如何把按钮改为自己的图片
本来想把那个按钮设置成和CBitmapButton一样类型的
但根本无从下手
2.用LBUTTONDN消息来通过放置不同图片来达到效果
但我至今还没有办法让单击的时候能显示一张图片
因此还希望有高中能来帮我一下忙
告诉我一些思路和必要的函数 谢谢
问题补充:
另外 CButtonST我这里还不会用
所以不用推荐那个了
自绘制按钮吧,采用自绘制按钮的话,你想要什么样的效果都可以做出来,重载DrawItem这个函数,然后自己来定义在鼠标按下后发生什么动作,你可以在其中加入一个静态的变量,用来判断是第几次按下按钮,第一次的话就当作是按下去,第二次点击按钮的时候,就判断为弹起来,这样做就行了。
个人一点建议:初学VC的时候不要把精力放在这样华而不实的东西上面,最主要的是先掌握MFC的基本框架和类之间的关系,否则的话,光学会几个函数怎么用,光知道一些界面设计的方法是不够的,面对MFC生成的代码你会毫无支配能力的
提问者对于答案的评价:
其他回答&&&&共 2 条
捕获WM_KEYDOWN
WM_KEYUP消息
1.用对话框直接做个按钮,然后通过设置setstate来达到效果
但用了这个以后我不知道如何把按钮改为自己的图片
本来想把那个按钮设置成和CBitmapButton一样类型的
但根本无从下手
答:这个问题我没搞懂你在说什么,CBitmapButton本身就能够设置按下,移动的效果,实现图片的更替。
2.用LBUTTONDN消息来通过放置不同图片来达到效果
但我至今还没有办法让单击的时候能显示一张图片
答:给CButton类的一个消息响应(=WM_CTLCOLOR)函数,如下:
HBRUSH CTestBtn::CtlColor(CDC* pDC, UINT nCtlColor)
//下面返回一个HBRUSH 图形画刷,而不是NULL,当然LBUTTONDN消息来时,
//控制画刷的变化(如跟换一张图片,或颜色画刷),达到变化效果;
//当然不要忘记忘记LBUTTONDN时更新
return NULL;
3,当然楼上说的方法重绘Button是最好的选择,CButtonST就是干的这件事情
Sorry, your entry can't be deleted right now. Please try again later.
MFC按钮贴图
使用CBitmapButton实现如下(假如按钮在对话框中,ID为IDC_BUTTON1): 1、插入两个位图资源IDB_RED和IDB_BLUE。 2、在按钮的属性中将Owner Draw 和Bitmap选上。 3、在按钮所在对话框类加入CBitmapButton类型成员变量m_btn如下: CBitmapButton m_ 4、初始化时(OnInitDialog函数),调用AutoLoad()函数将按钮与 CBitmapButton类对象关联: m_btn.AutoLoad(IDC_BUTTON1, this); 5、在你需要修改位图的地方如下调用: m_btn.LoadBitmaps(IDB_RED); m_btn.RedrawWindow(); 或 m_btn.LoadBitmaps(IDB_BLUE); m_btn.RedrawWindow(); 来实现更换位图显示。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:9551次
排名:千里之外
转载:10篇

我要回帖

更多关于 实现梦想 的文章

 

随机推荐