
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函数参数百度就可以查到了。
lz 你好
具体步骤如下:
(1)右键"资源文件" ->“添加”->"新建项"
(2)选择"资源"->"资源文件.rc"->命名为"resource"
(3)菜单栏选择"视图"->"资源视图", 右键"resource.rc"->"添加资源"
(4)选择"Icon"->"导入" 选择你要加入的图标
(5)右键添加好的图标,选择"属性",修改ID
(6)修改源代码,如下:
//IconDemo.c#include<windows.h>
#include"resource.h"//添加资源头文件
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM)
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
static TCHAR szAppName[] = TEXT("IconDemo")
HWND hwnd
MSG msg
WNDCLASS wndclass
int cxScreen, cyScreen
wndclass.style = CS_HREDRAW | CS_VREDRAW
wndclass.lpfnWndProc = WndProc
wndclass.cbClsExtra = 0
wndclass.cbWndExtra = 0
wndclass.hInstance = hInstance
wndclass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON))//加载图标
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW)
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH)
wndclass.lpszMenuName = NULL
wndclass.lpszClassName = szAppName
if(!RegisterClass(&wndclass))
{
MessageBox(NULL, TEXT("This program requires Windows NT!"),
szAppName, MB_ICONERROR)
return 0
}
cxScreen = GetSystemMetrics(SM_CXSCREEN)
cyScreen = GetSystemMetrics(SM_CYSCREEN)
hwnd = CreateWindow(szAppName,
TEXT("IconDemo"),
WS_OVERLAPPEDWINDOW,
cxScreen * 7 / 20,
cyScreen / 4,
cxScreen * 3 / 10,
cyScreen / 2,
NULL,
NULL,
hInstance,
NULL)
ShowWindow(hwnd, iCmdShow)
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg)
DispatchMessage(&msg)
}
return msg.wParam
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0)
return 0
}
return DefWindowProc(hwnd, message, wParam, lParam)
}
(7)运行效果如下:
希望能帮助你哈
你添加的这个不是bmp位图文件附加位图的时候,不能单单是把文件后缀改成.bmp
你可以用画图,或者其他看图工具,打开图片后另存为bmp格式
再插入的时候,就会变成位图附加到项目中了
附加了以后,图片的id会变成IDB_BITMAP1,你可以改成自己想要的名字
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)