Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Custom designer with ViewTechnology.Passthrough

0 views
Skip to first unread message

ora...@netix.ru

unread,
Mar 15, 2005, 3:34:08 AM3/15/05
to
Hello,

I'm doing custom designer in C# and can't use ViewTechnology.WindowsForms
for many reasons. So I'm stuck with passthrough. I've downloaded VSIP, got
IVsWindowPane and related interfaces and successfuly embedded my own HWND
into VS document pane. However, I have several difficulties.

First is obvious lack of any documantion on this subject: Google tells me
"IRootDesigner IVsWindowPane - did not match any documents.".

Second is that it seems that VS message pumping is pretty complex and requires
a lot of COM interop, like IOleComponent, IOleComponentManager and such.
Worst is that it is again seems to be undocumented.

Well, I have HWND in the VS and can draw and receive mouse clicks. From this
point, I'm having third problem - designer lifetime. It seems that designer
class specified in [Designer] attribute is created by VS, View gets queried,
but Dispose is never called. Worst of all it is referenced somewhere after
pane was closed. It doesn't get reused, because next opened design view for
same object creates new designer and queries new view. But even finalizer
for Designer is not called after pane was closed, regardless of GC.GetTotalMemory(true)
called. Finalizer is called on VS shutdown, though.

So the main question, is there anybody who accomplished the task of creating
Passthrough desinger? Or at least can anyone here answer these (and any related)
questions? Thanks in advance.

Sincerely,
Ilya Ryzhenkov

0 new messages