From: Geoff Chambers on
I am starting a new application and moving from Classmate over to Just
VO with Vo2ADO and bBrowser. I need some suggestions on the way to
design the user interface. I was recently in Georgia for the
MasterCIass Geoff Schaller gave and I am using most of his enhanced
LIBS for VO.

I created an app with a Splitwindow with 2 panes, the first pane holds
a FabOulookBar ( I like this interface and want to keep this) and the
second pane holds a shell window. I select the file I need from
Outlook bar and dispaly and MDI window in the Shell. I run into a
couple of problems when I do this.

First, I have added a background collor to the shell, I need the
caption bar of the DataWindow to be the same color as the background,
otherwise some repainting isn't going on. (If a tooltip covers and
area that area is repainted with the shell background color. I I
resize using cascade.horiz/vert the caption bar is repainted to the
shell background color. So where in my Init of the DataWindow can I
assign this color?

Second, (this is my reason for maybe changing the interface a liitle
and not use a ShellWindow) When I maximize the DataWindow, I lose the
caption bar or it becomes part of the SpitWindow, not sure what is
going on here. I could always shut off the maximize button of the
caption bar in the DataWindow, but really didn't want to do this.

Would really like some suggestion for the interface. All windows will
hold either a single browse window that will open a dialog window for
editing/adding. Others may hold a bBrowse window with a Tab Control
that will hold several bBrowse Windows that are Child tables of the
main Browse or I may design it to hold just the single browse window
and open a seperate window that would show current record of the
Browse with a Tab Control that would contain browse windows for each
child table of the parent table. I then would edit/add record using a
seperate dialog window. Hope I explained it enough

TIA
Geoff C.
From: Amilcar A. Camargo on
Hi Geoff,

On Fri, 18 Jul 2008 07:42:18 -0700 (PDT), Geoff Chambers <gchambers02(a)msn.com>
wrote:

>I am starting a new application and moving from Classmate over to Just
>VO with Vo2ADO and bBrowser. I need some suggestions on the way to
>design the user interface. I was recently in Georgia for the
>MasterCIass Geoff Schaller gave and I am using most of his enhanced
>LIBS for VO.
>
>I created an app with a Splitwindow with 2 panes, the first pane holds
>a FabOulookBar ( I like this interface and want to keep this) and the
>second pane holds a shell window. I select the file I need from
>Outlook bar and dispaly and MDI window in the Shell. I run into a
>couple of problems when I do this.
>
>First, I have added a background collor to the shell, I need the
>caption bar of the DataWindow to be the same color as the background,
>otherwise some repainting isn't going on. (If a tooltip covers and
>area that area is repainted with the shell background color. I I
>resize using cascade.horiz/vert the caption bar is repainted to the
>shell background color. So where in my Init of the DataWindow can I
>assign this color?

If i understand correctly, the caption isn't repainted but covered by the
shellwindow background, correct? This maybe due to some paint messages being
swallowed or executed out of phase. I don't know for sure.

What is sure is that a Shellwindow is designed to be your 'primary' window and
not a 'child' of another (the splitwindow in this case). I don't think you can
overcome this in a simple way short of writing your own ChildShellWindow class.

Can you 'spy++' your window and check what messages are being delivered and
their sequence. Not an easy task but i guess the only way to now what's
happening (or missing).

>Second, (this is my reason for maybe changing the interface a liitle
>and not use a ShellWindow) When I maximize the DataWindow, I lose the
>caption bar or it becomes part of the SpitWindow, not sure what is
>going on here. I could always shut off the maximize button of the
>caption bar in the DataWindow, but really didn't want to do this.

An interfase change would be in order to avoid time waste unless somebody else
has done this and shares it with you.

If you want to have the outlook bar on the left maybe you can use a normal
Shellwindow, sublass it and change, manually, the size of the underlying MDI
Client window (there have being a couple of examples how to handle this, one of
them showed how to paint a bitmap on the shell background). This way, you could
put a modeless dialog window without caption on the left and the windows
standard behaviour will see only the surface of the MDI Client for your
document windows. This is just a thought.

Best regards,
Amilcar A. Camargo F.
Guatemala, C. A.
From: Carlos Rocha on
Geoff,

My own interface used to be similar to what you are describing but I had
lots of troubles with menus and events (in VO2.7 days). Now I'm using
XTremeDockingPane (from Codejock) and it works as expected. It's a lot
better than VO SplitWindow

Try this: As the top window use TopAppWindow. In there put the
SplitWindow with OwnerAlignement := OA_FULL_SIZE, and in the client pane
use ChildAppWindows. Inside the ChildAppWindow you can put what you want.

Carlos
From: Geoff Schaller on
Geoff.

Although I don't know anything about the faboutlookbar, I suspect you
are making this too complex from a messaging point of view. Also, the
new additions from Sven Ebert to many of the controls broke a lot of
messaging whilst fixing other things. There are issues here that no-one
is addressing but I have two suggestions:

1. Use the splitwindow as your primary window but put the toolbar
directly on the split window, not as a pane. By making it a pane you are
in fact divorcing it from the main message flow, making extra work for
yourself.

2. Use a ShellWindow as your primary window (where menus and toolbars
etc are just automatic) but put the SplitView control on the surface of
the shell. Or get whacky and zoom out a modeless dialog with a splitview
control on it.

It depends on the effect you need. You didn't really explain the overall
design so I don't know what role the split window is supposed to play.
You probably need to inspect the SDK because nothing stops you stealing
things from the shell window class and giving it to the splitwindow. But
don't forget that in 2.8 the splitview class can be used like any other
control and it gives you the ability to use it on any window. Perhaps
your master window should just be a stand-alone datawindow???

Geoff

From: Geoff Chambers on
On Jul 18, 7:31 pm, "Geoff Schaller"
<geo...(a)softxwareobjectives.com.au> wrote:
> Geoff.
>
> Although I don't know anything about the faboutlookbar, I suspect you
> are making this too complex from a messaging point of view. Also, the
> new additions from Sven Ebert to many of the controls broke a lot of
> messaging whilst fixing other things. There are issues here that no-one
> is addressing but I have two suggestions:
>
> 1.      Use the splitwindow as your primary window but put the toolbar
> directly on the split window, not as a pane. By making it a pane you are
> in fact divorcing it from the main message flow, making extra work for
> yourself.
>
> 2.      Use a ShellWindow as your primary window (where menus and toolbars
> etc are just automatic) but put the SplitView control on the surface of
> the shell. Or get whacky and zoom out a modeless dialog with a splitview
> control on it.
>
> It depends on the effect you need. You didn't really explain the overall
> design so I don't know what role the split window is supposed to play.
> You probably need to inspect the SDK because nothing stops you stealing
> things from the shell window class and giving it to the splitwindow. But
> don't forget that in 2.8 the splitview class can be used like any other
> control and it gives you the ability to use it on any window. Perhaps
> your master window should just be a stand-alone datawindow???
>
> Geoff

I'll try and explain the overall design better. Basically I have a
SplitWindow with 2 Panes. The Left Pane holds a Dialog Window
(FabOutlookBar)and the other pane holds a shell window. The lft pane
Dialog Window basically provides me with buttons to selct files. When
I press a button in the dialog window of the left pane it passes
amessage up to the SplitWindow to open a DataWindow in the Shell
window pane. This is working ok and all of the messaging seems to be
handle correctly. I can Cascade and Tile the windows, Close all ,
etc... If I press a button in the left dialog and the window is
already opened, it becomes the active window. The only problem is if I
maximize the DataWindow the caption bar for the datawindow gets lost
in the splitwindow. If I cascade or tile, the caption reappears. I
need to somhow add minimize/maximize/close under the splitwindow
caption bar so I can restore the datawindow.

Looking at Fabrice's SplitShellWindow he is able to do it, the min/max/
close buttons appear directly below the splitwindow caption bar, but
it looks like he is creating his SplitShell from ShellWindow.

Geoff, I wanted to use your split window and shell, because I like the
way you add the background to your windows. This is a small problem
for now and not a show stopper. Rewriting the App not using Classmate,
that's the goal for now.

 |  Next  |  Last
Pages: 1 2
Prev: Tip of the Day
Next: Support Tools