我现在用picture代替button做了按钮,可是点击的时候那个picture没有反应,我说的反应是:本身图片没有反应,程序还是可以运行的。如果我现在要在点击picture按钮的时候,那个按钮会显示另外一个图片,这该怎么办??有人回答:派生Picture控件子类,响应OnLButtonDown消息,然后改变图片,再响应OnLButtonUp消息,恢复图片。可是我不会,怎样实现上面的功能,能不能告知具体的操作步骤和代码?实在万分感谢!!!
调试欢乐多
你放他到对话框中时,他本身ID为IDC_STATIC,这时在classwizard中是无法映射成变量的。所以把ID改为IDC_STATIC1,将该控件映射成m_pic,类型为CStatic.
然后,选中他的Notify属性,这样你点击他后他才会向对话框发送bn_clicked消息。接着,在classwizard中响应该消息,并添加如下代码
void CYourDlg::OnStatic1()
{
HBITMAP hBmp = (HBITMAP)LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP3));
if (hBmp != NULL)
{
::DeleteObject(m_pic.SetBitmap(hBmp));
}}IDB_BITMAP3为你加到资源中的位图。
当然也可是是一个硬盘上的文件,但加载函数得改为LoadImage
http://wwww.codeproject.com