Re[9]: Как определить
От: black hermit Россия  
Дата: 27.08.04 13:04
Оценка:
Здравствуйте, <Аноним>, Вы писали:
А не лучше ли так?

MemoryDC.Attach(::CreateCompatibleDC(srcDC));

CBitmap *pOldBitmap = MemoryDC.SelectObject(srcDC.GetCurrentBitmap());

m_Wnd.SendMessage(WM_PRINT, (WPARAM)MemoryDC.GetSafeHdc(), (LPARAM)PRF_CHILDREN | PRF_CLIENT | PRF_OWNED);

memDC.SelectObject(pOldBitmap); // А это еще зачем????
... << RSDN@Home 1.1.3 stable >>
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun....
Re[10]: Как определить
От: Аноним  
Дата: 27.08.04 13:21
Оценка:
Здравствуйте, black hermit, Вы писали:

BH>Здравствуйте, <Аноним>, Вы писали:

BH>А не лучше ли так?

бр...
запутался
пытаюсь сделать так


CDC       memDC;  

CWnd*       pwndDesktop = CWnd::GetDesktopWindow();
CWindowDC   srcDC(pwndDesktop);

memDC.Attach(::CreateCompatibleDC(srcDC));
pwndDesktop->SendMessage(WM_PRINT, (WPARAM)memDC.GetSafeHdc(), (LPARAM)PRF_CHILDREN | PRF_CLIENT | PRF_OWNED);
  
BITMAP bmp;
memset(&bmp,0,sizeof(BITMAP));

memDC.GetCurrentBitmap()->GetBitmap(&bmp);


получаю битмап 1x1 пиксель

что я делаю не так?
Re[11]: Как определить
От: black hermit Россия  
Дата: 27.08.04 13:52
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, black hermit, Вы писали:


BH>>Здравствуйте, <Аноним>, Вы писали:

BH>>А не лучше ли так?

А>бр...

А>запутался
А>пытаюсь сделать так


    CDC memDC;  

    CWnd*pwndDesktop = CWnd::GetDesktopWindow();

    CDC *pDC = pwndDesktop->GetDC()
    memDC.CreateCompatibleDC(pDC);
    
    BITMAP bmp;
    memset(&bmp,0,sizeof(BITMAP));
    pDC->GetCurrentBitmap()->GetBitmap(&bmp);

    CBitmap Bmp;
        Bmp.CreateCompatibleBitmap(pDC, bmp.bmWidth, bmp.bmHeight)

    CBitmap *pOldBitmap = memDC.SelectObject(&Bmp);
        pDC->DeleteDC();
    
    pwndDesktop->SendMessage(WM_PRINT, (WPARAM)memDC.GetSafeHdc(), (LPARAM)PRF_CHILDREN | PRF_CLIENT | PRF_OWNED);
    
    memDC->GetCurrentBitmap()->GetBitmap(&bmp);
  //TODO Check bitmap size
... << RSDN@Home 1.1.3 stable >>
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun....
Re[12]: Как определить
От: Аноним  
Дата: 27.08.04 14:50
Оценка:
Здравствуйте, black hermit, Вы писали:


BH>
BH>    CDC memDC;  

BH>    CWnd*pwndDesktop = CWnd::GetDesktopWindow();

BH>    CDC *pDC = pwndDesktop->GetDC()
BH>    memDC.CreateCompatibleDC(pDC);
    
BH>    BITMAP bmp;
BH>    memset(&bmp,0,sizeof(BITMAP));
    pDC->>GetCurrentBitmap()->GetBitmap(&bmp);
         тут все нули
BH>    CBitmap Bmp;
BH>        Bmp.CreateCompatibleBitmap(pDC, bmp.bmWidth, bmp.bmHeight)

BH>    CBitmap *pOldBitmap = memDC.SelectObject(&Bmp);
        pDC->>DeleteDC();
    
BH>    pwndDesktop->SendMessage(WM_PRINT, (WPARAM)memDC.GetSafeHdc(), (LPARAM)PRF_CHILDREN | PRF_CLIENT | PRF_OWNED);
    
BH>    memDC->GetCurrentBitmap()->GetBitmap(&bmp);
          тут 1x1 пикселей
BH>  //TODO Check bitmap size
BH>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.