以编程方式将PNG设置为Win32 API中的优化校准

Jon*_*aub 6 c winapi

我使用Visual Studio 2008,我在资源视图中加载了PNG文件,将其分配给IDB_BANG_PNG.

优化校准称为IDC_STATIC15.

我无法尝试将PNG加载到图片控件中.

LRESULT CALLBACK DialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{

// Way of loading a bmp with a mask perhaps?  Or a PNG file programatically?

static HBRUSH hBrushStatic;
HBITMAP hBmp = LoadBitmap(hDlg,MAKEINTRESOURCE(IDB_BANG_PNG));

switch(message)
{
case WM_INITDIALOG:     
    CheckDlgButton(hDlg, IDC_CHECK, FALSE);
    EnableWindow(GetDlgItem(hDlg, IDOK), FALSE);
    // Bitmap version is IDB_BANG, PNG is at IDB_BANG_PNG
    // IDC_STATIC15 is the picture frame
    HWND item = GetDlgItem(hDlg,IDC_STATIC15);
    SendMessage(item,STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)hBmp);   
    return TRUE;

// .... snip
Run Code Online (Sandbox Code Playgroud)

当谈到Win32/GUI开发,做一个快速的项目并且卡住她时,我很天真,任何帮助都表示赞赏.

Nic*_*kis 0

就我个人而言,我使用CPictureEx类。我认为它不支持png,但支持bmp、jpeg和动画gif。

我还使用开罗图形进行特殊渲染。Cairo 支持 png 格式。
当然开罗比较难用。