MFC添加使用picture control控件添加Bitmap图片

MFC添加使用picture control控件添加Bitmap图片,第1张

1.事先准备好位图。一定要位图。位图。

2.在对话框中添加picture控件,设置type为bitmap,将其ID改为IDC_STATIC1(不改不行)。然后为picture添加控制变量PT1。

3.在.cpp中找到onpaint()函数加入如下代码。

CDC dcMemory1

CBitmap wtj_bitmap1

BITMAP bmInfo1

CDC *pDC=PT1.GetDC()

PT2.SetWindowPos(0,-400,112,53,20, SWP_NOZORDER | SWP_NOACTIVATE)

GetDlgItem(IDC_STATIC1)->GetWindowRect(rect)//创建一个CRect对象rect,矩形结构类,此对象用来指定要拉伸变为的大小

wtj_bitmap1.LoadBitmap(IDB_BITMAP15)

wtj_bitmap1.GetObject(sizeof(bmInfo1),&bmInfo1)

dcMemory1.CreateCompatibleDC(pDC)

dcMemory1.SelectObject(&wtj_bitmap1)

//pDC->SetStretchBltMode(COLORONCOLOR)

pDC->SetStretchBltMode(HALFTONE)

pDC->StretchBlt(0,0,1000,rect.Height()-13,&dcMemory1,0,0,bmInfo1.bmWidth,bmInfo1.bmHeight, SRCCOPY)//利用StretchBlt()贴图实现自动拉伸

ReleaseDC(pDC)

4.setwindowspos函数和stretchblt函数参数百度就可以查到了。

使用ImageList加载图片后,再和Tab控件关联起来,然后Table控件中SetItem时加入对应ImageList中对应索引的图,就可以了。代码如:

imagelist.Create(32,32,ILC_COLOR32|ILC_MASK,1,1)

 imagelist.Add(m_pApp->LoadIcon(IDI_ICON_PG00))

 imagelist.Add(m_pApp->LoadIcon(IDI_ICON_PG01))

 TCITEM tcitem

 m_TableMain.InsertItem(0,_T("万年历"))

 m_TableMain.InsertItem(1,_T("生日批量查询"))

 m_TableMain.SetImageList(&imagelist)

 imagelist.Detach()

 tcitem.mask=TCIF_IMAGE

 for (int i=0i<2i++)

 {

  m_TableMain.GetItem(i,&tcitem)

  tcitem.iImage=i

  m_TableMain.SetItem(i,&tcitem)

 }

其中imagelist是CImageList类的对象,m_TableMain是CTabCtrl的对象,m_pApp是指向APP类的对象指针,使用AfxGetApp()函数获得。效果如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11749720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存