<html>
<body>
Hi Diego,<br><br>
I'm posting your response back the VTK users list.&nbsp; Please keep the
discussion on the list; that way other people can help answer your
questions, and the discussion will be in the archives for the mailing
list.<br><br>
- Amy<br><br>
At 01:31 PM 9/14/2005, you wrote:<br>
<blockquote type=cite class=cite cite="">hi.<br><br>
The problem not is a precompiler code lines, is the form of inheritance
<br>
in the mail I omitted them <br><br>
<br>
2005/9/14, Amy Squillacote
&lt;<a href="mailto:amy.squillacote@kitware.com">
amy.squillacote@kitware.com</a>&gt;:<br>

<dl>
<dd>Hi Diego,<br><br>

<dd>Did you include CvtkWin32OpenGLRenderWindow.h in<br>

<dd>your .cpp file?&nbsp; (I'm guessing this is a subclass<br>

<dd>you created of vtkWin32OpenGLRenderWindow.)&nbsp; Also<br>

<dd>vtkSetWindowLong is #define'd inside a few<br>

<dd>classes in VTK/Rendering, so you can't just use<br>

<dd>it; you would need to set the up the #define<br>

<dd>appropriately.&nbsp; (See<br>

<dd>vtkWin32RenderWindowInteractor.cxx around line 50 for an
example.)<br><br>

<dd>- Amy<br><br>

<dd>At 12:00 PM 9/14/2005, Diego Parada wrote: <br>

<dd>&gt;Hi,<br>

<dd>&gt;<br>

<dd>&gt;I have been treating to derivate a clas from<br>

<dd>&gt;vtkWindowRenderInteractor but the compilation showws this:<br>

<dd>&gt;<br>

<dd>&gt;C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(30)<br>

<dd>&gt;: error C2065: 'CvtkWin32OpenGLRenderWindow' : undeclared
identifier <br>

<dd>&gt;C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(30)<br>

<dd>&gt;: error C2065: 'tmp' : undeclared identifier<br>

<dd>&gt;C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(30)<br>

<dd>&gt;: warning C4552: '*' : operator has no effect; <br>

<dd>&gt;expected operator with side-effect<br>

<dd>&gt;C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(35)<br>

<dd>&gt;: error C2065: 'vtkWin32OpenGLRenderWindow' : undeclared
identifier<br>

<dd>&gt;C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(35) <br>

<dd>&gt;: error C2065: 'ren' : undeclared identifier<br>

<dd>&gt;C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(35)<br>

<dd>&gt;: warning C4552: '*' : operator has no effect;<br>

<dd>&gt;expected operator with side-effect<br>

<dd>&gt;C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(36) <br>

<dd>&gt;: error C2061: syntax error : identifier
'vtkWin32OpenGLRenderWindow'<br>

<dd>&gt;C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(37)<br>

<dd>&gt;: error C2059: syntax error : ')'<br>

<dd>&gt;C:\test\ISVtest\MyvtkWin32RenderWindowInteractor.cpp(50) <br>

<dd>&gt;: error C2065: 'vtkSetWindowLong' : undeclared identifier<br>

<dd>&gt;<br>

<dd>&gt;the code is:<br>

<dd>&gt;<br>

<dd>&gt;file .h<br>

<dd>&gt;<br>

<dd>
&gt;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<br>

<dd>&gt;#include &quot;vtkWin32RenderWindowInteractor.h&quot;<br>

<dd>&gt;<br>

<dd>&gt;class CvtkWin32RenderWindowInteractor : public
vtkWin32RenderWindowInteractor<br>

<dd>&gt;{<br>

<dd>&gt;<br>

<dd>&gt;public:<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; static CvtkWin32RenderWindowInteractor
*New(); <br>

<dd>&gt;<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void OnMouseMove&nbsp; (HWND
wnd, UINT nFlags, int X, int Y);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void OnNCMouseMove(HWND wnd,
UINT nFlags, int X, int Y);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void OnRButtonDown(HWND wnd,
UINT nFlags, int X, int Y); <br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void OnRButtonUp&nbsp; (HWND
wnd, UINT nFlags, int X, int Y);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void OnMButtonDown(HWND wnd,
UINT nFlags, int X, int Y);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void OnMButtonUp&nbsp; (HWND
wnd, UINT nFlags, int X, int Y); <br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void OnLButtonDown(HWND wnd,
UINT nFlags, int X, int Y);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void OnLButtonUp&nbsp; (HWND
wnd, UINT nFlags, int X, int Y);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void
OnSize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (HWND wnd, UINT nType,&nbsp;
int X, int Y);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void
OnTimer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (HWND wnd, UINT nIDEvent);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void OnKeyDown&nbsp;&nbsp;&nbsp;
(HWND wnd, UINT<br>

<dd>&gt; nChar, UINT nRepCnt, UINT nFlags);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void
OnKeyUp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (HWND wnd, UINT <br>

<dd>&gt; nChar, UINT nRepCnt, UINT nFlags);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void
OnChar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (HWND wnd, UINT<br>

<dd>&gt; nChar, UINT nRepCnt, UINT nFlags);<br>

<dd>&gt;<br>

<dd>&gt;protected:<br>

<dd>&gt;<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; CvtkWin32RenderWindowInteractor(); <br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual
~CvtkWin32RenderWindowInteractor();<br>

<dd>&gt;<br>

<dd>&gt;};<br>

<dd>
&gt;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<br>

<dd>&gt;file .cpp<br>

<dd>
&gt;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////<br>

<dd>
&gt;CvtkWin32RenderWindowInteractor::CvtkWin32RenderWindowInteractor()
<br>

<dd>&gt;{<br>

<dd>&gt;&nbsp;&nbsp; static int
timerId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
1;<br>

<dd>&gt;&nbsp;&nbsp;
this-&gt;WindowId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
= 0;<br>

<dd>&gt;&nbsp;&nbsp;
this-&gt;TimerId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
= timerId++;<br>

<dd>&gt;&nbsp;&nbsp; this-&gt;InstallMessageProc = 1;<br>

<dd>&gt;&nbsp;&nbsp; this-&gt;MouseInWindow = 0; <br>

<dd>&gt;}<br>

<dd>&gt;<br>

<dd>
&gt;CvtkWin32RenderWindowInteractor::~CvtkWin32RenderWindowInteractor()<br>

<dd>&gt;{<br>

<dd>&gt;<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; CvtkWin32OpenGLRenderWindow *tmp;<br>

<dd>&gt;<br>

<dd>&gt;&nbsp;&nbsp; // we need to release any hold we have on a windows
event loop <br>

<dd>&gt;&nbsp;&nbsp; if (this-&gt;WindowId &amp;&amp; this-&gt;Enabled
&amp;&amp; this-&gt;InstallMessageProc)<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; {<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; vtkWin32OpenGLRenderWindow *ren;<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ren =
static_cast&lt;vtkWin32OpenGLRenderWindow *&gt;(this-&gt;RenderWindow);
<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; tmp = (vtkWin32OpenGLRenderWindow
*)(vtkGetWindowLong(this-&gt;WindowId,4));<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; // watch for odd conditions<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; if ((tmp != ren) &amp;&amp; (ren !=
NULL))<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // OK someone else has a
hold on our event handler <br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // so lets have them handle
this stuff<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // well send a USER message
to the other<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // event handler so that it
can properly<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // call this event handler
if required<br>

<dd>&gt; <br>

<dd>
&gt;CallWindowProc(this-&gt;OldProc,this-&gt;WindowId,WM_USER+14,28,(LONG)this-&gt;OldProc);<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; else<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
vtkSetWindowLong(this-&gt;WindowId,GWL_WNDPROC,(LONG)this-&gt;OldProc);
<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Enabled = 0;<br>

<dd>&gt;&nbsp;&nbsp;&nbsp;&nbsp; }<br>

<dd>&gt;}<br>

<dd>&gt;<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnMouseMove<br>

<dd>&gt;(HWND wnd, UINT nFlags, int X, int Y)<br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnNCMouseMove(HWND<br>

<dd>&gt;wnd, UINT nFlags, int X, int Y)<br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnRButtonDown(HWND<br>

<dd>&gt;wnd, UINT nFlags, int X, int Y) <br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnRButtonUp<br>

<dd>&gt;(HWND wnd, UINT nFlags, int X, int Y)<br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnMButtonDown(HWND<br>

<dd>&gt;wnd, UINT nFlags, int X, int Y) <br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnMButtonUp<br>

<dd>&gt;(HWND wnd, UINT nFlags, int X, int Y)<br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnLButtonDown(HWND<br>

<dd>&gt;wnd, UINT nFlags, int X, int Y) <br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnLButtonUp<br>

<dd>&gt;(HWND wnd, UINT nFlags, int X, int Y)<br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnSize<br>

<dd>&gt;(HWND wnd, UINT nType,&nbsp; int X, int Y) <br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void
CvtkWin32RenderWindowInteractor::OnTimer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(HWND wnd, UINT nIDEvent)<br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnKeyDown<br>

<dd>&gt;(HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags) <br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnKeyUp<br>

<dd>&gt;(HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags)<br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>&gt;void<br>

<dd>&gt;CvtkWin32RenderWindowInteractor::OnChar<br>

<dd>&gt;(HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags) <br>

<dd>&gt;{<br>

<dd>&gt;}<br>

<dd>
&gt;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////<br>

<dd>&gt;of course with vtkWin32RenderWindowInteractor.h include<br>

<dd>&gt;<br>

<dd>&gt;Somebody can help me?<br>

<dd>&gt;<br>

<dd>&gt;Thanks<br>

<dd>&gt;--<br>

<dd>&gt;Diego Armando Parada Cuervo<br>

<dd>&gt;Estudiante de Ingeniería de Sistemas y Computación<br>

<dd>&gt;Universidad Pedagógica y Tecnológica de Colombia <br>

<dd>&gt;_______________________________________________<br>

<dd>&gt;This is the private VTK discussion list.<br>

<dd>&gt;Please keep messages on-topic. Check the FAQ at:<br>

<dd>&gt;<a href="http://www.vtk.org/Wiki/VTK_FAQ">
http://www.vtk.org/Wiki/VTK_FAQ </a><br>

<dd>&gt;Follow this link to subscribe/unsubscribe:<br>

<dd>&gt;<a href="http://www.vtk.org/mailman/listinfo/vtkusers">
http://www.vtk.org/mailman/listinfo/vtkusers</a><br><br>

</dl><br><br>
<br>
-- <br>
Diego Armando Parada Cuervo<br>
Estudiante de Ingeniería de Sistemas y Computación<br>
Universidad Pedagógica y Tecnológica de Colombia </blockquote></body>
</html>