CToolTipCtrl m_pToolTipCtrl不能在OnCreate()里?//内存异常
CToolTipCtrl m_pToolTipCtrl不能在OnCreate()里?//内存错误
------解决方案--------------------
除非你用cppTooltips 这个可以根据point来帮顶,就没楼主这个问题了
- C/C++ code
lass CMainFrame : public CFrameWnd 类的声明一个 CToolTipCtrl m_pToolTipCtrl成员;
- C/C++ code
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) { TRACE0("未能创建工具栏\n"); return -1; // 未能创建 } ////////////////////////////////////////////////////////////////////// m_Imagelist.Create(32,32,ILC_COLOR32 | ILC_MASK,0,0); //创建图像列表 m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_SET)); m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_TIMER)); m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_PAN)); m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ZOOM_IN)); m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ZOOM_OUT)); //CListCtrl m_listCtrl; //m_listCtrl.SetImageList(&m_Imagelist,LVSIL_NORMAL); UINT nArray[5] = { ID_MENU_AUTOTEST, ID_MENU_PERIOD_CHECK, ID_TOOL_PAN,ID_TOOL_ZOOMIN,ID_TOOL_ZOOMOUT}; m_wndToolBar.SetButtons(nArray, 5); m_wndToolBar.GetToolBarCtrl().SetButtonSize(CSize(41,41)); m_wndToolBar.GetToolBarCtrl().SetBitmapSize(CSize(36,36)); m_wndToolBar.GetToolBarCtrl().SetImageList(&m_Imagelist); if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) { TRACE0("未能创建状态栏\n"); return -1; // 未能创建 } // TODO: 如果不需要工具栏可停靠,则删除这三行 m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); CPAIBaseDialog::AddWndIdToMap(m_iWndID,this); StartHeartbeat(); if (g_shUserType != 1) { HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICON6); m_Imagelist.Replace(0,hIcon); hIcon = AfxGetApp()->LoadIcon(IDI_ICON7); m_Imagelist.Replace(1,hIcon); SignIcon=0; } m_pToolTipCtrl.Create(this); m_pToolTipCtrl.AddTool(GetDlgItem(IDI_ICON6),"123");//这行代码编译过,运行内存错误! return 0; }
------解决方案--------------------
除非你用cppTooltips 这个可以根据point来帮顶,就没楼主这个问题了