Вывод картинки (VS2008)

GAME

Подскажите., как вывести в форму картинку. Поиск юзал,гугл тоже -ответа не нашел =((( WM_PAINT не рисует битмап(VS2005 C++) - в принципе работает , только вместо картинки - синий прямоугольник О_хПомогите) расскажите, что там к чему...
6 ответов

GAME

используйте стандартный компонет PictureBox


GAME

Я работаю в WinAPI


GAME

Когда-то, давным-давно... когда мир казался большим, а мои навыки программирования были малы, я делал так:
/* где-то в WndProc */
 
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
 
        /* LoadSkin */
        if (!LoadSkin(hdc, SkinName))
        {
            MessageBox(hWnd, TEXT("Error: load bitmap."), TEXT("Error"), MB_OK);
            DestroyWindow(hWnd);
        }
        EndPaint(hWnd, &ps);
        break;
BOOL LoadSkin(HDC hDC, LPCTSTR SkinFile)
{
    HBITMAP hBmp;
    HDC DcMem;
    BITMAP Bmp;
    
    if(!hDC || !SkinFile)
        return FALSE;
 
    hBmp = LoadImage(NULL, SkinFile, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
 
    if(!hBmp)
        return FALSE; 
 
    DcMem = CreateCompatibleDC(hDC);
 
    if (!SelectObject(DcMem, hBmp))
    {   
        DeleteDC(DcMem); 
        return FALSE; 
    }
 
    GetObject(hBmp, sizeof(Bmp), &Bmp);
 
    if (!BitBlt(hDC, 0, 0, Bmp.bmWidth, Bmp.bmHeight, DcMem, 0, 0, SRCCOPY))
    {   
        DeleteDC(DcMem); 
        return FALSE; 
    }
 
    DeleteDC(DcMem);
    
    return TRUE;
}
В данном примере я загружал Скин, но думаю переделать под твои нужды тебе не составит труда.


GAME

Monte-Cristo, спасибо вам огромное)
. когда мир казался большим, а мои навыки программирования были малы, я делал так:
это мой случай)
LPCTSTR SkinFile
- Это путь к файлу?И ещё вопросик, в какой момент происходит собственно рисование рисунка?А... вот ещё. в строке 10 , ругаеться что невозможно handle преобразовать в hbitmap, попробовал явное приведение типов...но, всегда нули =(Вот =( не идёт дальше строки 13 , так как hBmp нулевая всегда


GAME

Это путь к файлу?
да.
И ещё вопросик, в какой момент происходит собственно рисование рисунка?
в WM_PAINT при вызове LoadSkin
в строке 10 , ругаеться что невозможно handle преобразовать в hbitmap, попробовал явное приведение типов...но, всегда нули =(
так делал?
hBmp = (HBITMAP)LoadImage(NULL, SkinFile, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);


GAME

да, именно так писал. SkinFile путь к картинке нормальный (.bmp)ААААААААААААААААААААААААААА я разобрался!!!!спасибо огромное !!!!!!!!!УраааА)А)))Просто в процессе экспериментов , случайно заменил первый парамет функции LoadImage с NULL на hInst .... еЕее)))Ну ещё там путь немного не до конца был))не умею пользоваться memccpy