MFC 一键加载位图

简介:

个人研究

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* CStatic*pWnd = ((CStatic *)GetDlgItem(IDC_TEST));
 pWnd->ModifyStyle(0, SS_BITMAP);
/* pWnd->SetBitmap((HBITMAP)::LoadImage(NULL,
  _T("Rockies.bmp"),  //资源号或本地文件名
  IMAGE_BITMAP,       //装载位图 IMAGE_CURSOR光标 IMAGE_ICON图标
  0,                  //宽度 0为默认大小
  0,                  //高度 像素为单位
  LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE));*/
 /*pWnd->SetBitmap((HBITMAP)::LoadImage(NULL,
  _T("21.bmp"),
  IMAGE_BITMAP,
  0,
  0,
  LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE));
 Sleep(5000);
 
 HBITMAP hBitmap;
 /CBitmap st;
 st.LoadBitmap(IDB_BITMAP3);
 */
 CWnd *cW = GetDlgItem(IDC_BITMAP);
 CRect rec;
 cW->GetWindowRect(rec);
 this->ScreenToClient(rec);
 rec.DeflateRect(4,4);
 cW->MoveWindow(rec);
 
 
 int cx, cy;
 CImage image;
 CRect rect;
 //载入图片
 image.Load(_T("E:\\21.bmp"));
 //获取图片高宽
 cx = image.GetWidth();
 cy = image.GetHeight();
 //获取Pirture Control大小
 GetDlgItem(IDC_TEST)->GetWindowRect(rect);
 this->ScreenToClient(rect);
 GetDlgItem(IDC_TEST)->MoveWindow(rect.left, rect.top, cx, cy, TRUE);
 // TODO: 在此添加控件通知处理程序代码*/
 CWnd*pWnd = ((CStatic*)GetDlgItem(IDC_TEST));
 if (pWnd == NULL)
  return;
 pWnd->GetClientRect(&rect);
 CDC*pDc = NULL;
 pDc = pWnd->GetDC();
 image.Draw(pDc->m_hDC, rect);
 ReleaseDC(pDc);
 
 Sleep(20);
 CWnd *cW1 = GetDlgItem(IDC_BITMAP);
 CRect recR;
 cW1->GetWindowRect(recR);
 this->ScreenToClient(recR);
 recR.InflateRect(4, 4);
 cW1->MoveWindow(recR);
// Sleep(1000);

 本文转自超级极客51CTO博客,原文链接:http://blog.51cto.com/12158490/1881399 ,如需转载请自行联系原作者






相关文章
|
3月前
|
API C# 图形学
Unity3D学习笔记9——加载纹理
Unity3D学习笔记9——加载纹理
36 2
|
图形学 索引
MFC创建单文档工程(为窗口添加背景图)
首先把BMP位图图片添加到资源文件res文件夹下; 其次,资源视图——VT_Ards.rc——右键选择添加资源,选择Bitmap,导入BMP图片并修改图片ID; 然后添加代码(详见MFC单文档工程为窗口添加背景图代码) ...
1641 0
|
API 分布式数据库 C++
VC下加载多种格式图片的方法总结IPicture, CxImage, CImage(AtlImage), CPictureEx
尽管VC有提供相应的API和类来操作bmp位图、图标和(增强)元文件,但却不支持jpg、gif和png等格式的图片,而这几种格式却是常常要用到的。这里我给大家介绍两种办法来操作这些格式的图片。 1.用API OleLoadPicture来加载JPG、GIF格式的图片(注:不支持PNG格式,另外GI...
1673 0
MFC多线程进行图片的显示
在MFC编程中开始学习都是只利用一个主线程,比较蛋疼的是,当你只用一个主线程进行如播放,查询时,MFC的界面会卡死,你无法进行其他的操作,这时需要进行多线程的编程,在操作时生成一个子线程来进行一些如播放,查询等的费时的操作。 多线程,经常会与对实时性要求比较高的并行运算结合,用来隐藏数据传输过程中用到的等待时间。 基于MFC的多线程在上一篇博客的基础上进行改进: 1.简
2092 0