【VC】 CStatic 控件绘制BITMAP的方法。。
来源:互联网 发布:windows怎样编辑照片 编辑:程序博客网 时间:2024/06/05 07:22
默认CStatic控件,改变ID名称:IDC_STABITMAP 图片ID: IDB_BITMAP1
hBitmap 的获取可以使用 LoadImage 或者 LoadBitmap
一下方法的调用均在 OnPaint 函数中使用。。
方法1
CStatic * pStatic = (CStatic *)GetDlgItem(IDC_STABITMAP);HBITMAP hBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1),IMAGE_BITMAP,0,0, LR_CREATEDIBSECTION);pStatic->ModifyStyle(0,SS_BITMAP|SS_CENTERIMAGE); // 修改 CStatic的样式,这一步很重要 pStatic->SetBitmap(hBitmap);
方法2
CStatic * pStatic = (CStatic *)GetDlgItem(IDC_STABITMAP);HBITMAP hBitmap; hBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1),IMAGE_BITMAP,0,0, LR_CREATEDIBSECTION); pStatic->ModifyStyle(0, BS_OWNERDRAW); // 修改CStatic样式,改成自绘制,这一步很重要 CRect rc; pStatic->GetClientRect(&rc); BITMAP bm; HDC hdcImage = CreateCompatibleDC(NULL); // 创建兼容DC SelectObject(hdcImage, hBitmap); // 将加载进来的位图句柄选入兼容DC GetObject(hBitmap, sizeof(bm), &bm); // 将位图信息填入BITMAP结构体 StretchBlt(pStatic->GetDC()->GetSafeHdc(),rc.left,rc.top,rc.Width(),rc.Height(),hdcImage,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY); // 拷贝位图到CStaticDeleteObject(hBitmap);DeleteDC(hdcImage);
- 【VC】 CStatic 控件绘制BITMAP的方法。。
- VC/MFC CStatic 绘制一个时间选择控件
- VC++ : CStatic控件的基本使用
- 一个从CStatic派生的动态曲线图绘制控件
- VC/MFC CStatic控件用法
- CStatic控件的使用
- CSTATIC 控件的刷新
- VC 在CStatic控件上绘图
- CStatic控件的基本使用
- CStatic控件的基本使用
- CStatic控件的闪烁问题
- CStatic控件的基本使用
- CStatic控件的基本使用
- CStatic控件的基本使用
- CStatic控件的基本使用
- CStatic控件的基本使用
- CStatic控件的基本使用
- CStatic控件的基本使用
- 程序员的创业陷阱:我能,但不管用户在哪
- 安装oracle 11g 监听器netca 提示 use another port number the information provided。。。
- iOS 获取应用版本号
- 常用ARM汇编指令及ATPCS规则
- hdu 1394 Minimum Inversion Number 树状数组+递推
- 【VC】 CStatic 控件绘制BITMAP的方法。。
- Uninstall BullGuard Antivirus with WindowsUninstaller.Org Removal Tips
- OCX控件制作
- HNOI2004-宠物收养所
- Android之Fragment
- DirectX发展史
- 【图论01】最短路 1003 畅通工程续
- C++ STRING 和WSTRING 之间的互相转换函数
- sqlserver中日期函数汇集