User (Legacy) Posted June 13, 2000 Report Share Posted June 13, 2000 > 1) Then, instead of assigning *nRes = 1 you can do: > > ChartFX1->ReturnValue = 1; > > This tells Chart FX that you have changed the string and its size will be > recalculated. This doesn't help (regardless of if I do it before or after changing hText). Below is the full code: STDMETHODIMP CChartWnd::XCfxEvents::Fire_GetAxisLabel(int nAxis) { METHOD_PROLOGUE(CChartWnd, CfxEvents) USES_CONVERSION; CString strLabel; if (nAxis == AXIS_X && pThis->m_pTable != NULL && pThis->m_pTool != NULL && pThis->m_pTool->m_nDstX != -1 && pThis->IsScatterType(-1) && pThis->m_pTable->GetColumnType(pThis->m_pTool->m_nDstX, TRUE) == VT_DATE) { DOUBLE dbl; char szBuffer[256]; LPSTR lpsz = szBuffer; if (pThis->m_pChartFX->get_HText(&lpsz) == S_OK && VarR8FromStr(T2OLE(szBuffer), LOCALE_USER_DEFAULT, 0, &dbl) == S_OK) { COleDateTime dt((DATE)dbl); if (pThis->m_pTool != NULL && !pThis->m_pTool->m_strDateFormat.IsEmpty()) strLabel = dt.Format(pThis->m_pTool->m_strDateFormat); else strLabel = dt.Format(); pThis->m_pChartFX->HText = (LPTSTR)(LPCTSTR)strLabel; pThis->m_pChartFX->ReturnValue = 1; } } return S_OK; } My system is Win2K, regional settings specify '.' (dot) as date delimiter, ',' (comma) - decimal point. > 2) You must avoid calling SizeToFit before the chart has data and labels and > before the legend is displayed. OK, I'll try. Though IMHO it would be better if the library checks those error conditions inside SizeToFit (it is you who know when it is dangerous to call a function, users usually don't know all possible situations.) At least, it should do nothing instead of crashing. > 3) Check that thread. I answered it on 4/20/2000 after you sent me the file > on 4/18/00. Here is the answer in case you don't see it: > > You must make sure that the ScrollView limits match the step selected for a > particular axis. For instance if you have a step of 2 (your X-axis labels go > 2,4,6,8,...) you can not do a SetScrollView with odd numbers. The clipping problem occurs even if I don't use SetScrollView. I checked that under the debugger by commenting out all SetScrollView calls, the only related call that I made during initialization is pXAxis->PixPerUnit = 0; Also, I don't change the Step property. (Axis Properties dialog shows Major Unit = Auto). I thought that the purpose of SetScrollView is to specifiy how many points I want to be displayed per one page. So if I call it to display 7 points and the Step is Auto, then the number of bars displayed should be 7 (if total >= 7) and the number of major tick marks should be as appropriate depending on lengths of the x-axis labels. Am I wrong? Please look at the clip_line and clip_area gifs from my previous post. The x-axis labels change by 1. > 5) The GetTip event is only fired for the DataTip (automatic) for > double-clicks there is another event (LButtonDblClk). Thanks. > 6) This titles can be accessed from the property pages (General and > Axis-Labels) .You can also add your own dialog if you want. Is it possible to add a new property page (tab) to the Chart FX Properties dialog? Serge Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.