Метод CStatic DrawItem вызывается слишком часто после создания дочернего окна
У меня есть окно приложения просмотра изображений с использованием раскладчиков макета. Я рисую растровое изображение в диалоге внутри разделителя, используя пользовательский элемент управления изображением
class CPictureCtrl :
public CStatic
{
public:
.
.
protected:
virtual void PreSubclassWindow();
//Draws the Control
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
virtual BOOL OnEraseBkgnd(CDC* pDC);
private:
//Internal image stream buffer
IStream* m_pStream;
//Control flag if a pic is loaded
BOOL m_bIsPicLoaded;
//GDI Plus Token
ULONG_PTR m_gdiplusToken;
};
Внутри метода DrawItem() я беру графику GDI+ из lpDrawItemStruct и рисую изображение.
Все работает нормально, но когда я открываю дочернее окно для диалога, где у меня есть этот элемент управления, изображение закрашивается поверх моего всплывающего окна.
Есть ли способ вывести всплывающее окно на передний план?
Полный источник элемента управления можно найти по адресу http://www.codeproject.com/Articles/24969/An-MFC-picture-control-to-dynamically-show-picture?fid=1183733&df=90&mpp=25&noise=1&prof=True&sort=Position&view=Expanded&spc=Relaxed&fr=1