Page 1 of 1

OpenGL buggy with Owner Draw tabs

Posted: Wed Jul 23, 2008 8:47 pm
by 9527947
Hello,

We are developing an app, the interface of which is a window with 4 tabs, set to Owner Draw. On one of the tabs, we have a 3D Aspect chart and we would like to set the OpenGl property to active but it seems to be causing problems. When this parameter is set to active (via the SetActive property function), once the tab with the chart on it is selected, and hence the property is set, the tab labels no longer redraw - as if OpenGL dominates the drawing. With this property excluded completely, there is no problem.

I'm sorry my description is a little strange, that is what appears to be happening.

Thanks for any help you may provide.

Marc

Posted: Thu Jul 24, 2008 7:45 am
by narcis
Hi Marc,

Could you please send us a simple example project we can run "as-is" to reproduce the problem here?

You can either post your files at news://www.steema.net/steema.public.attachments newsgroup or at our upload page.

Thanks in advance.

Posted: Mon Jul 28, 2008 8:04 am
by narcis
Hi Marc,

Thanks for the example project but I'm not able to reproduce the issue here using latest TeeChart version available at the client area. Which TeeChart version are you using?

Thanks in advance.

Posted: Mon Jul 28, 2008 1:51 pm
by 9527947
Hi Narcis,

We're using 7.0.1.4, which we just downloaded from the client site (http://www.steema.com/cgi-bin/teegetR.cgi). I saw just now that v8 was released this month but I didn't see where I could download it. Is it available from the website?

Thanks,
Marc

Posted: Mon Jul 28, 2008 2:19 pm
by narcis
Hi Marc,

I'm also using v7.0.1.4 and it works fine for me here. Is there any specific step I should follow to reproduce the issue?

A new maintenance release of v8 was published earlier this month. This is only available to v8 registered customers. You can download fully functional evaluation version here:

http://www.steema.com/downloads/form_ax_eval.html

And upgrade your v7 license online:

http://www.steema.com/ordering/order_tchpro8ax_u.shtml

OpenGL buggy with Owner Draw tabs

Posted: Mon Jul 28, 2008 4:31 pm
by 9527947
Hi Narcis,

Probably we didn't explain clear what the problem is.
If you switch between tabs of this owner draw tab control, the selected tab caption becomes BLUE and not selected - BLACK. The moment you first time switch to the forth tab with TeeChart 3D control with OpenGL's Active property set to TRUE (m_3DAspect.GetOpenGL().SetActive(TRUE);) this tab caption forever stays blue regardless which tab is actually selected and shown (color is not changing). If you set a breakpoint into CTTTabCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) function, you will see that after switching to the tab with 3D the program stop coming there to redraw item.
All this happening when:
1. MainScreen.cpp file has static LRESULT CALLBACK TabWndProc function (which we need to redraw Microsoft ListCtrl on the first tab). When this function and its call are commented, tab control works fine redrawing selected item tab captions (color is changing);
2. If this function is not commented, but OpenGL's Active property set to FALSE tab control also works fine (redrawing works and color is changing).

Elena
Software Engineer
Thought Technology Ltd.
elena@thoughttechnology.com

Posted: Tue Jul 29, 2008 9:33 am
by narcis
Hi Elena,

Thank you very much for the information. Now I see the problem and I've added it (TA05013281) to the defect list to be fixed for next releases.

Posted: Mon Apr 27, 2009 8:07 pm
by 9527947
Hi Narcis,

I notice that since our last contact a new version 8 of TeeChart is available. Does it have a fix that I'm waiting for (GetOpenGL().SetActive(TRUE) with owner draw tab control)? If yes, than how we can get it?

Thanks in advance.
Elena

Posted: Tue Apr 28, 2009 10:59 am
by yeray
Hi Elena,

I'm afraid that this haven't been solved yet with TeeChart AX 8.0.0.5.

Re: OpenGL buggy with Owner Draw tabs

Posted: Fri Feb 05, 2010 10:45 pm
by 9527947
Hi Narcis,

I have another problem with OpenGL's Active property set to TRUE. This time it's when I change Regional and Lanquage Options and set Japanese language and Japan as present location on English WindowsXP. Tee Chart gives message:
"UseFontOutlines: 8 (D:\Steema\Root\TeeChartVCL\Sources7\TeeGLCanvas.pas, line 2355)".
This message appears each time when I open a dialog screen with TeeChart control or move this dialog so that TeeChart control has to be redrawn.
It never happens when OpenGL's Active property set to FALSE.

Thanks in advance.
Elena

Software Engineer
Thought Technology Ltd.
elena@thoughttechnology.com
TTL
Newbie


Posts: 33
Joined: Thu Aug 04, 2005 4:00 am

Re: OpenGL buggy with Owner Draw tabs

Posted: Tue Feb 16, 2010 11:35 am
by narcis
Hi Elena,

Sorry for the delayed reply. We have been doing some tests and haven't been able to reproduce the problem here. Could you please let us know the exact TeeChart version you are using and the exact steps we should follow to reproduce the issue here?

Thanks in advance.

Re: OpenGL buggy with Owner Draw tabs

Posted: Tue Feb 16, 2010 11:35 pm
by 9527947
Hi Narcís
I'm using TeeChart7.ocx version 7.0.1.3. The project C++ preprocessor options include _UNICODE;UNICODE. I have WindowsXP Professional (Service Pack 3) installed on my PC.
When I select Start menu -> Settings -> Control Panel -> Regional and Language Options. On "Regional and Language Options" tab I select Japanese language in "Standards and formats" and Japan in "Location". Click OK. Run any application that shows 3D Surface graph with . I use the following initialization:
CTChart m_3DHistory;
CAspect m_3DAspect = m_3DHistory.GetAspect();
CSeries m_3DSeries = m_3DHistory.Series(2);
CSurfaceSeries m_3DSurface = m_3DSeries.GetAsSurface();

m_3DHistory.GetCanvas().SetUseBuffer(TRUE);
m_3DHistory.GetPanel().SetBorderStyle(bsNone);
m_3DHistory.GetPanel().SetBevelInner(bvNone);
m_3DHistory.GetPanel().SetBevelOuter(bvNone);

m_3DAspect.GetOpenGL().SetActive(TRUE); // Make surface colors smooth
m_3DAspect.GetOpenGL().SetAmbientLight(0);
m_3DAspect.SetChart3DPercent(100);
m_3DHistory.GetZoom().SetEnable(FALSE);
m_3DSurface.SetIrregularGrid(TRUE);
m_3DSurface.SetUseColorRange(FALSE);
m_3DSurface.SetUsePalette(TRUE);
m_3DSurface.SetPaletteSteps(COLOR_LEVELS);

As you can see I set: m_3DAspect.GetOpenGL().SetActive(TRUE) to make surface colors smooth. This is when the message that I described in the original question appears. If I set GetOpenGL().SetActive to FALSE this message never appears.

Re: OpenGL buggy with Owner Draw tabs

Posted: Wed Feb 24, 2010 3:05 pm
by yeray
Hi Elena,

Thank you for the information. I've been able to reproduce the problem here so I've added it to the defect list to be fixed in future releases (TA05014697).

Re: OpenGL buggy with Owner Draw tabs

Posted: Mon Mar 01, 2010 8:02 pm
by 9527947
Hi Yeray,

It looks like the problem is resolved. We noticed that not all our customers with Japanese language have this problem. We compare their settings and found that there is one more setting in ”Regional and Language options” screen. On “Advanced” tab there is setting “Language for non-Unicode programs”. If “Japanese“ is selected there, 3D works even with active OpenGL (SetOpenGL().SetActive(TRUE)).

Thank you kindly for looking into this matter for us, however we’ve been able to find the solution.

Best regards
Elena

Re: OpenGL buggy with Owner Draw tabs

Posted: Tue Mar 02, 2010 11:12 am
by yeray
Hi Elena,

Thank you for sharing the solution, it will probably help other users with similar problems.
In Win7, the “Language for non-Unicode programs” option is under "Region and Language" screen, "Administrative" tab.