Hallo Leute,
ich bin total verzweifelt und bitte um Hilfe.
Ich habe eine SDI-Anwendung mit Menu- und Symbolleiste.
Das Firmenlogo ist eine *.bmp.
In der Anwendung soll es im Bereich der Menu- und Symbolleiste rechts gezeichnet werden.
Ich lade die Bitmap und wandle sie in ein HICON um, damit der Hintergrund transparent gezeichnet wird. In OnPaint(..) und OnNCPaint(..) des MainFrames rufe ich dann DrawLogo() auf:
Die obere Hälfte des Logos wird korrekt angezeigt, die untere wird mit dem Hintergrund des Frames verdeckt. Sobald ich das Fenster verschiebe, so wird auch die untere Hälfte sichtbar. Woran liegt das.
ich bin total verzweifelt und bitte um Hilfe.
Ich habe eine SDI-Anwendung mit Menu- und Symbolleiste.
Das Firmenlogo ist eine *.bmp.
In der Anwendung soll es im Bereich der Menu- und Symbolleiste rechts gezeichnet werden.
Ich lade die Bitmap und wandle sie in ein HICON um, damit der Hintergrund transparent gezeichnet wird. In OnPaint(..) und OnNCPaint(..) des MainFrames rufe ich dann DrawLogo() auf:
Code:
void CMainFrame::DrawLogo()
{
CDC* pdc = GetWindowDC();
::DrawIconEx(pdc->GetSafeHdc(),m_rectLogo.left,m_rectLogo.top,m_hIcon,
m_rectLogo.Width(),m_rectLogo.Height(),0, NULL,
DI_NORMAL);
ReleaseDC(pdc);
}
void CMainFrame::OnNcPaint()
{
// TODO: Fügen Sie hier Ihren Meldungsbehandlungscode ein.
// CFrameWnd::OnNcPaint();// soll zum Zeichnen von Meldungen nicht aufgerufen werden.
Default();
DrawLogo();
}
void CMainFrame::OnPaint()
{
CPaintDC dc(this); // device context for painting
//Default();
DrawLogo();
}