T
Thomas Klaus
Hi,
We are using dockable windows in Visio created with C#. Now we want to
add two dockable Windows as tabbed dockable Windows (not side by
side). Programmatically we didn't get that to work. Is there a
solution for this problem?
Here is the code section we are using to create a dockable window:
--snip
this.visAttributeExplorer =
VisioApplication.Instance.ActiveWindow.Windows.Add(
ResourceHelper.GetStringValue(Constants.KEYS_PM_ATTRIBUTEEXPLORER),
Visio.tagVisWindowStates.visWSDockedRight |
Visio.tagVisWindowStates.visWSVisible,
Visio.tagVisWinTypes.visAnchorBarAddon,
0, 0, 250, 400, null, null, null);
this.windowId = this.visAttributeExplorer.ID;
int parent = this.visAttributeExplorer.WindowHandle32;
IntPtr child = this.attributeExplorerForm.Handle;
SetWindowLong(child, GWL_STYLE, WS_CHILD | WS_VISIBLE);
SetParent(child, parent);
// move twice to avoid refresh problems
MoveWindow(child, 0, 0, 100, 100, true);
MoveWindow(child, 0, 0, 250, 400, true);
--snip
If we are doing this twice, the two dockable windows are always side
by side.
Any help would be greatly appreciated.
Thanks,
Thomas Klaus
We are using dockable windows in Visio created with C#. Now we want to
add two dockable Windows as tabbed dockable Windows (not side by
side). Programmatically we didn't get that to work. Is there a
solution for this problem?
Here is the code section we are using to create a dockable window:
--snip
this.visAttributeExplorer =
VisioApplication.Instance.ActiveWindow.Windows.Add(
ResourceHelper.GetStringValue(Constants.KEYS_PM_ATTRIBUTEEXPLORER),
Visio.tagVisWindowStates.visWSDockedRight |
Visio.tagVisWindowStates.visWSVisible,
Visio.tagVisWinTypes.visAnchorBarAddon,
0, 0, 250, 400, null, null, null);
this.windowId = this.visAttributeExplorer.ID;
int parent = this.visAttributeExplorer.WindowHandle32;
IntPtr child = this.attributeExplorerForm.Handle;
SetWindowLong(child, GWL_STYLE, WS_CHILD | WS_VISIBLE);
SetParent(child, parent);
// move twice to avoid refresh problems
MoveWindow(child, 0, 0, 100, 100, true);
MoveWindow(child, 0, 0, 250, 400, true);
--snip
If we are doing this twice, the two dockable windows are always side
by side.
Any help would be greatly appreciated.
Thanks,
Thomas Klaus