[vtk-developers] Re: GUISupport directory ?

Clinton Stimpson clinton at elemtech.com
Tue Feb 15 11:50:02 EST 2005

Thanks for the discussion.  So I guess we replace the generic MFC/VTK 
class in there with specialized ones for targeting tyes of MFC 
applications (SDI, MDI, Dialog).  Should we leave the generic one there 
in case?


de Boer Ingo wrote:

>>For a dialog it is mot much different from the MDI and SDI 
>>examples, except you have to use the PreTranslateMessage if
>>you want keyboard interaction.
>Yeah, but you can also use the WindowProc function.
>But all of this cannot be handled from the generic window class.
>It has to be handled from the dialog app. So you have double
>code anyway. It is easier to write the code once without the
>generic window class.
>>I didn't.  I realize they were there in the bug tracker when 
>>I took this code from the already existing examples and modified it.
>I think the existing ones are no good.
>Eg, the pipeline is executed always in the OnDraw, which is not needed.
>I tried to compile the samples with VTK_BUILD_SHARED_LIBS which did not
>You should give my samples a try. There is a MDI,SDI and dialogbased
>sample (without a generic mfc-vtk window class)
>>We have an MDI and SDI sample already that uses this new 
>>class.  Do you want to try it in a dialog?
>I tried it by modifying my sample. But I did not succeed.
>I only got a high cpu level, not knowing why.
>Also, I was not able to move the object, which means, that
>the windowproc didn't get through.
>What you do is, that you have to make a frame object on your
>dialog, get the window from it and make it parent to the
>VTK window.
>>The OnPaint function doesn't pass in a CDC to do printing 
>>like that.  It is the OnDraw functions from CView that has that.
>>I don't think CWnd has an OnDraw function.
>This is another reason why I wouldn't suggest a generic window
>class. I would like to mention some points:
>1. If I have a window class, I want to derive it, not use it as a child.
>2. All the vtk classes come with eg: this->ren = vtkRenderer::New();
>   The generic mfc window comes with vtkWindow = new vtkMFCWindow;
>   Novice uses might stumble about this.
>3. When you do the render call in OnPaint, how to you do the printing ?
>   You do that in OnDraw, which is called from OnPaint, so you render
>   although you print, because the vtkMFCWindow::OnPaint is called
>   every time. So too much calls here ?
>4. One should keep it simple.
>   When you write your own program, you do not use the generic window.
>   Simply because, why should you use an extra class with a few lines
>   in your own code. You have to make the whole scene setup anyway in
>   your own class.
>Just some thoughts...
> Ingo
>Dr.-Ing. Ingo H. de Boer
>Polytec GmbH
>Polytec-Platz 1-7, 76337 Waldbronn, Germany
>phone: ++49 7243 604 106
>fax  : ++49 7243 604 255

More information about the vtk-developers mailing list