有好多人使用MFC写的,请问如果用SDK怎么写啊?《WINDOWS程序设计》上面好像没找到。

解决方案 »

  1.   

    用法在VC中都一样啊
    在资源view中导入你想加的位图
    在对话框中加入PICTURE控件
    PICTURE控件属性中的类型选bitmap
    ID选你给位图定义的ID号就可以了
      

  2.   

    不用picture,在WM_PAINT里面画就行了
      

  3.   

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

        UINT idTimer = 1; 
        static UINT i; 
     
        static HBITMAP hBmp; 
     
        switch (message) 
        { 
            case WM_INITDIALOG: 
     
                hBmp = LoadBitmap(hinst, "OneIco");  //加载位图
      
                SendDlgItemMessage(hDlg,  // 对话框句柄 
                   IDB_PIC,              // 图片控件ID
                   STM_SETIMAGE,          // 设置消息
                   (WPARAM) IMAGE_BITMAP,   // 图象类型 
                   (LPARAM) hBmp);        // 位图句柄
     
                return TRUE; 
      
            case WM_COMMAND: 
                if (wParam == IDOK 
                    || wParam == IDCANCEL) 
                { 
                    EndDialog(hDlg, TRUE); 
                    return TRUE; 
                } 
                return 0; 
     
            case WM_DESTROY: // clean up  
     
                return 0; 
        } 
        return FALSE; 
            UNREFERENCED_PARAMETER(lParam); 

      

  4.   

    主要是这段            hBmp = LoadBitmap(hinst, "OneIco");  //加载位图
      
     SendDlgItemMessage(hDlg,  // 对话框句柄 
                   IDB_PIC,              // 图片控件ID
                   STM_SETIMAGE,          // 设置消息
                   (WPARAM) IMAGE_BITMAP,   // 图象类型 
                   (LPARAM) hBmp);        // 位图句柄
      

  5.   

    BOOL CALLBACK AboutDlgProc(HWND hwnd, UINT message , WPARAM wParam, LPARAM lParam)
    {
    HDC hdc,hdcMem;
    //PAINTSTRUCT ps;

    static HINSTANCE hInstance;/*
    static HBITMAP hZYYBitmap;
    BITMAP zyybitmap;
    static int picWid,picHei;
    */
    //***************************
    switch(message)
    {
    case WM_INITDIALOG:

    //hInstance=((LPCREATESTRUCT)lParam)->hInstance ;//这种写法此处会出错
    hInstance=(HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE);
    //这个正确
    hZYYBitmap=LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_ZYY));
    GetObject(hZYYBitmap,sizeof(BITMAP),&zyybitmap);
    picWid=zyybitmap.bmWidth;
    picHei=zyybitmap.bmHeight ;


    return TRUE;
    case WM_COMMAND:
    switch(LOWORD(wParam))
    {
    case IDOK:

    EndDialog(hwnd,0);
    return TRUE;
    }
    break;
    case WM_PAINT:
    hdc=GetDC(hwnd);
    hdcMem=CreateCompatibleDC(hdc);
    SelectObject(hdcMem,hZYYBitmap);
    //SelectObject(hdcMem,hBitmap);
    StretchBlt(hdc,50,60,150,186,hdcMem,0,0,picWid,picHei,SRCCOPY);
    //StretchBlt(hdc,25,30,75,93,hdcMem,0,0,cxSource,cySource,SRCCOPY);
    DeleteDC(hdcMem);
    ReleaseDC(hwnd,hdc);
    break;
    }
    return FALSE;
    }