阅读:2576回复:15
再问一下Picture 的使用
我用VC , 基于对话框的,用到Picture 静态控件,我在资源管理器中插入了几个图片,有什么方法在我点点击一下图片之后,将图片切换到下一张,有没有象setpos 这样的简单方法,我是超级菜菜,不知道怎样用的
谢谢回复! |
|
沙发#
发布于:2005-07-11 17:19
可以不使用Picture控件,在对话框的左击事件中(OnLButtonDown)改变图片序号,然后在调用一个画屏函数如:
DrawScreen(){ CDC* pDC; pDC=GetDC(); CDC memDC; CBitmap bitmap; memDC.CreateCompatibleDC(pDC); bitmap.LoadBitmap(IDB_BITMAP1); memDC.SelectObject(&bitmap); RECT rt; GetClientRect(&rt); pDC->StretchBlt(0,0,rt.right-rt.left,rt.bottom-rt.top,&memDC,0,0,427,317,SRCCOPY); } 可以试一试。 |
|
板凳#
发布于:2005-07-13 09:11
用Picture 控件没有好的办法吗?
|
|
地板#
发布于:2005-07-21 16:34
我用你的方法绘图可以了,但是图像如果被其他的窗口覆盖后就没有了,还是变成了原来的第一幅图像,,怎么回事呢?有什么办法解决问题
|
|
地下室#
发布于:2005-07-21 16:50
不服不行,Picture控件的SetBitmap函数在MSDN上写得明明白白,居然......
|
|
|
5楼#
发布于:2005-07-25 17:38
还是不明白啊,被其他窗口覆盖后还是没有了,怎么办啊???
|
|
6楼#
发布于:2005-07-25 19:48
还需要什么提示?调用SetBitmap不就行了。
|
|
|
7楼#
发布于:2005-07-27 09:05
还是没有搞明白,请大虾明示.在哪个函数里面调用此函数呢?窗口被覆盖后..WINDOWS 会产生哪个消息呀?
|
|
8楼#
发布于:2005-07-27 09:55
在PICTURE的左击事件中(OnLButtonDown).你需要自己生成一个CStatic的子类,重载OnLButtonDown.在PICTURE的属性中找到Notify,选中它.
"窗口被覆盖后..WINDOWS 会产生哪个消息呀?" 我不知道有什么消息,除非是你主动调用SetWindowPos之类函数,会收到WM_WINDOWPOSCHANGING和WM_WINDOWPOSCHANGED消息. 即使有什么消息也和你无关,你窗口被覆盖,反正看不到,就不用管界面了. |
|
|
9楼#
发布于:2005-07-27 10:06
还有个简单的方法
在PICTURE的属性中找到Notify,选中它,然后处理它的BN_CLICKED事件,在其中调用SetBitmap方法.注意,可能要将PICTURE的ID改为不是IDC_STATIC. |
|
|
10楼#
发布于:2005-07-27 14:46
我是说补覆盖以后再重新见到界面,我知道覆盖后不可见呀,问题是再次可见的时候他就是第一幅图像了,而不是我修改后的那一幅,我没有用到左击事件,我是在旁边加了一个滚动条,左击事件肯定不成,因为在其他的窗口最大化后再最小化,我的窗口从不可见变成可见的了,但我没有点击我的界面,他的图像是变回了第一幅而不是我先前修改的那一幅了,不知道说明白没有.
|
|
11楼#
发布于:2005-07-27 15:48
你没说明白,我看不懂.你要求点击一下就换一幅图,可是你不处理左击事件?加个滚动条做什么?
干脆你把项目打成包传上来,我给你改好得了. |
|
|
12楼#
发布于:2005-07-28 09:57
好啊,多谢你,下面是我的程序,还有很多的问题我不明白,以后请多指教.我刚学VC
|
|
|
13楼#
发布于:2005-07-28 11:43
你的程序除了显示图片和滚动条处理之外,写得很好啊,为何如此自谦!?
注意PICTURE属性中NOTIFY要选中. |
|
|
14楼#
发布于:2005-07-29 11:45
麻烦你了,真的很好,我都不知道那个SetBitmap怎么用的,看到HBITMAP就不知道怎么回事了,一直没有搞懂,上面有一个老兄说的方法有点烦琐,现在的这个方法就很好,我想就应该有这样一种方法的,我直接修改ChangePicture函数就可以了,在滚动条的响应函数里面调用这个函数就一点问题也没有了.太好了,谢谢你.我学了半年的VC了,感觉还是没有入门,以后烦请多多指点.
|
|
15楼#
发布于:2005-07-29 12:35
不客气,不过我奇怪的是,你其他部分的代码非常专业啊.你为什么这么谦虚?
|
|
|