显示对话框位图

时间:2012-03-01 15:36:22

标签: c winapi bitmap

大家好我赢得api并且正在使用C.我很想知道如何在对话框应用程序中显示横幅。我已设法使用以下代码加载应用程序图标。

LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));

但是我不确定如何在对话框上执行此操作。使用visual studio我能够创建图片控制框,它给我IDC_STATIC1我是否使用sendmessage加载位图文件?

很抱歉,如果这是一个愚蠢的问题,我今天早上在google上有一条很好的路线,但没有成功。

1 个答案:

答案 0 :(得分:0)

如果您想从应用资源加载图片:

hBitmap = (HBITMAP) LoadImage (
    hInst, 
    MAKEINTRESOURCE(id), 
    IMAGE_BITMAP, 
    0, 0, 
    LR_CREATEDIBSECTION);

如果要从外部文件加载图像:

hBitmap = (HBITMAP) LoadImage (
    0, 
    path, 
    IMAGE_BITMAP, 
    0, 0, 
    LR_LOADFROMFILE);

现在你想在对话框的客户区显示一个图像,你必须 blit 它。

HDC hdcDst = CreateCompatibleDC(NULL);
BitBlt(hdcDst, x, y, width, height, sourceDc, xSource, ySource, mode);

考虑到你正在以艰难/陈旧的方式做这一切;在直接SDK调用之后出现了Visual C ++ / MFC / .NET / WPF /...

相关问题