Also mein Problem ist, das ich gerne eine Bitmap darstellen würde (Landkarte) und darauf zeichnen kann (Weg darstellen).
Meine Funktionen:
Das Problem ist nur das die Bitmap immer über dem gezeichneten liegt, egal in welcher Reihenfolge das bitmap darstellen und zeichen aufgerufen wird. Gibts da irgendwo eine Einstellung mit der ich das festlegen kann oder geht das auf diese Weise prinzipiell nicht.
Ich arbeite in MFC ... sorry hab erst nachher gesehen das dafür ein eigenes Topic gibt
Meine Funktionen:
Code:
void CTestDlg::OnDrawItem( int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct )
{
if ( nIDCtl == IDC_STATICMap )
{
HDC hdcImage = CreateCompatibleDC( lpDrawItemStruct->hDC );
HBITMAP hbmOld = (HBITMAP)::SelectObject( hdcImage, m_Bitmap );
BitBlt( lpDrawItemStruct->hDC, 0, 0, 660, 540, hdcImage, m_lox, m_loy, SRCCOPY );
SelectObject( hdcImage, hbmOld );
DeleteDC( hdcImage );
return;
}
}
Code:
void CTestDlg::OnBUTTONShowData()
{
m_Bitmap.LoadBitmap(IDB_Map);
m_lox = 0;
m_loy = 0;
m_map.Invalidate();
CClientDC dc(this);
CPen lblackpen(PS_SOLID, 1, RGB(255, 0, 0));
dc.SelectObject(&lblackpen);
CBrush lwhitebrush(RGB(0, 255, 255));
dc.SelectObject (&lwhitebrush);
int xkoord = 400;
int ykoord = 400;
dc.Rectangle(xkoord, ykoord, xkoord + 50, ykoord + 30);
dc.TextOut(xkoord+20, ykoord+5, "Hi");
UpdateData(false);
}
Das Problem ist nur das die Bitmap immer über dem gezeichneten liegt, egal in welcher Reihenfolge das bitmap darstellen und zeichen aufgerufen wird. Gibts da irgendwo eine Einstellung mit der ich das festlegen kann oder geht das auf diese Weise prinzipiell nicht.
Ich arbeite in MFC ... sorry hab erst nachher gesehen das dafür ein eigenes Topic gibt