【发布时间】:2015-08-11 19:12:11
【问题描述】:
我正在尝试将图像添加到工具栏的图像列表中,它是 CMainFrame 的成员
startStopPicture.LoadBitmapW(IDB_STOP_PIC);
m_ToolBar.GetToolBarCtrl().GetImageList()->Add(&startStopPicture, reinterpret_cast<CBitmap*>(NULL));
startStopPicture.DeleteObject();
startStopPicture.LoadBitmapW(IDB_START_PIC);
m_ToolBar.GetToolBarCtrl().GetImageList()->Add(&startStopPicture, reinterpret_cast<CBitmap*>(NULL));
然后我需要从子视图访问这个图像列表。我正在尝试这样做
CMainFrame* mainFrame = dynamic_cast<CMainFrame*>(GetParentFrame());
CImageList* imList = mainFrame->m_ToolBar.GetToolBarCtrl().GetImageList();
但是我在大型机方法中添加的那些图像现在没有了。如何解决这个问题?
【问题讨论】:
-
当您需要child中的图像列表时,在这个类中创建一个。跨类访问此类成员是糟糕的设计。