繁体   English   中英

如何使图片适合静态控件vc ++ win32

[英]how to make a picture fit in a static control vc++ win32

您能告诉我如何使图片适合静态控件吗?我的意思是,例如,如果您创建用于查看图片的静态控件,并且图片的质量或图片尺寸大于控件,那么它将使用该尺寸调整静态控件的大小图片。 我可以创建控件并将图片设置为正确。 但我不知道如何使其适合控制。 这就是我创建控件并为其设置图片的方式。

码:

HWND static_con(HWND hWnd, HINSTANCE hInst){
    HWND Static_Pic;

    Profile_Pic = CreateWindow("STATIC", NULL, SS_BITMAP|WS_CHILD|WS_VISIBLE|WS_TABSTOP, 5,5,33,33, hWnd, NULL, hInst, NULL);
    HBITMAP hBmp = (HBITMAP)LoadImage(NULL, "camera1.jpg", IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
    if(hBmp == NULL){
        MessageBox(NULL, "Error while loading image", "Error", MB_OK|MB_ICONERROR);
    }
    SendMessage(Static_Pic, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmp);
    return 0;
}

然后我在WM_CREATE处理程序中调用该函数,该函数成功创建了该函数,现在我不知道如何使其适合控件,如果您能告诉我如何使图片适合控件,我将不胜感激。

您可以使用Microsoft文档中的SS_REALSIZECONTROL

SS_REALSIZECONTROL - Adjusts the bitmap to fit the size of the static control.

您也可以手动缩放图像。 通过使用GetWindowRect()获得图像的控件大小,然后使用StretchBlt()缩放图像以使其尺寸与源图像尺寸匹配,然后执行STM_SETIMAGE。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM