FF 3.60 Tab Order

Started by Klaas Holland, May 18, 2012, 06:19:36 PM

Previous topic - Next topic

Klaas Holland

In FF 3.60 the Tab Order is mixed up in all my programs.
I can change the Tab Order, but it doesn't respond to any change I make.
The Tab Order stays always the same in a strange mixed way.
If I compile the same program with FF 3.50 the Tab Order is correct.

For Paul, my appreciations for all the improvements you have made in FF 3.60.

Regards,
Klaas

Klaas Holland

More specific.
I can change the Tab Order of the Textboxes, but somehow a Combobox, which is in the middle of the Textboxes,
always gets the first Tab.
This is only the matter in FF 3.60
The same program  in FF 3.50 runs correct.

Can it be possible that the Combobox was created before the Textboxes???
I have no idea what causes this problem.

Klaas

David Kenny

Why ask Klaas?  Please don't take that wrong, you have every right to ask.

My point is that one of the things that FF does is generate PowerBasic code.  You can look at it, learn from it, and even tweak it (a little or a lot).  Don't be afraid to search through the codegen files and try to figure things out.  The more you do it the more easy it becomes.

It will likely give you much appreciation for what Paul does for us to make our coding easier.  FF lets us focus on the meat-and-potatoes of our program and and frees us from some of the more tedious chores. One of the drawbacks is that it sometimes makes us a little dependent.

David Kenny

Paul Squires

Thanks for the report - I will look into it to see what is going on. I don't remember touching the code that outputs the zorder/tab order for the controls on a Form. I may have...not sure.
Paul Squires
PlanetSquires Software

Klaas Holland

#4
Thanks David

I looked in the Codegen and it seems all right, but after compiling it is not the TabOrder in the Codegen.

Program TabTest included.

Klaas



Paul Squires

Hi Klaas,

Looks like the problem is the result of the SetWindowPos call for the ComboBox that sets the default height of the combobox. It appears that I forgot to add the %SWP_NOZORDER flag for that function call.

Here is what is generated:

    ' Stretch the window length of the ComboBox
    pWindow.SetWindowPos hWndControl, 0, 0, 0, 120, 200, %SWP_NOMOVE Or %SWP_SHOWWINDOW                                 


Here is what it should be:

    ' Stretch the window length of the ComboBox
    pWindow.SetWindowPos hWndControl, 0, 0, 0, 120, 200, %SWP_NOMOVE Or %SWP_SHOWWINDOW Or %SWP_NOZORDER                                 


I will fix this problem and upload a new EXE for you to download.

Paul Squires
PlanetSquires Software

Klaas Holland

Thanks Paul,

I'am glad you found the problem.
I appreciate what you are doing for us.

Regards

Klaas