当我用GetOpenFileName (&ofnopen),打开一个bmp文件,如何把它加载到相应的id为:IDC_IMGBMP 的image控件里啊?还有就是当别的窗口覆盖本窗口,然后回到本窗口后,image控件的bmp图片不刷新,请教高手如何解决…………
解决方案 »
- YUV图像的显示
- 广播UDP
- 使用try throw catch 正确处理异常,还是出现Microsoft C++ exception: int输出,请问如何解决
- 截至 20040420 CSDN论坛三星级用户名单
- 如何生成的exe文件放到别的机子上就能用呢?
- COM接口只有方法没有属性(实例数据),当然也不允许有,那么何来自动化接口的属性又从何谈起呢
- 怎么样来判断一个字符串,例如 char str[] = "ab斯蒂芬",其中的某个字符是不是汉字的第一个字符?
- 本人一直迷惑不解在C/C++中的main(op1,op2)不知如传递实参
- VC++2008为滚动条消息添加成员函数
- vs2008MFC智能设备应用程序无法添加web引用。
- 请问一下我用MarkupSTL解析时,有的内容是大结果就解出乱码来了,这个怎么办啊?
- CFile结合IOCP出错了
HDC DCMemory = CreateCompatibleDC(NULL); //建立内存兼容DC
HBITMAP bitmap; //定义bitmap对象
BITMAP bmp; //定义bmp结构
bitmap =(HBITMAP) LoadImageA(NULL,szOpenFile,IMAGE_BITMAP,0,0,LR_DEFAULTSIZE|LR_LOADFROMFILE);//装入硬盘中的*.bmp文件
int i=GetLastError();
GetObject(bitmap,sizeof(bmp),&bmp); //获得bitmap信息到bmp结构中
SelectObject(DCMemory,bitmap); //将BMP选入到内存DC中
DeleteObject(bitmap); //删除对象
BitBlt(hdc,0,0,bmp.bmWidth,bmp.bmHeight,DCMemory,0,0,SRCCOPY);//将内存DC中的内容拷贝到当前窗口DC中,并显示
DeleteDC(DCMemory); //删除DC
ReleaseDC(GetDlgItem(hwnd,IDC_IMGBMP),hdc);我是这样加载图片的,不过就是不知道怎么刷新image控件。 你说的STM_SETIMAGE消息,由谁发送,发送给谁啊,能说详细点吗?谢谢
STM_SETIMAGE wParam = (WPARAM) fImageType;
lParam = (LPARAM)(HANDLE) hImage;
------------------------------------------------------------------------
ParametersfImageType Specifies the type of image to associate with the static control. It is one of the following values: * IMAGE_BITMAP
* IMAGE_ICONhImage Handle to the image to associate with the static control.
如果你关联的是一个位图控件,那wParam=IMAGE_BITMAP;然后从IDC_IMGBMP获取控件的Handle并赋值给hImage。
参考资料来源于MSDN至于发送给谁嘛,一般都是控件的父窗口来作刷新的事务的,所以当然是发给控件的父窗口或是程序的主窗口了。至于谁发送嘛,当然是在你需要加载图片的时候写代码sendmessage了。