If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

My dialog tab index order is not saved

Hi, there,

I am using basic msi project, and I have created some custom dialogs. When I changed each component tab index order to reorder them, some values are saved and some are not. More serious issue I got: two tab index orders are 0, each time I change one component index order from 0 to another value for example 7, when I saved and reopen it, it changed back to 0. I found even I click other dialogs and came back, it changed back, how can I reoder the components with my customized tab order? Or is there a way in Direct Editor to modify it? Is this caused by InstallShield internal two lines, what order of those components? Any suggestions are welcome, thanks.

I aggree with you that the tab index for the custom dialogs are buggy as can be. However, there is a work around that I have had to use and it is a pain in the rear to do it. Try this. Count how many components that are on your dialog. For example, there are two edit boxes with a combo box with the three buttons at the bottom (Back, Next, and Cancel). So that makes six components. The tab order could look like this:
Component Index
====================
EditBox1 6
EditBox2 5
ComboBox1 4
ButtonNext 0
ButtonBack 1
ButtonCancel 3

Set them up in reverse order. Start with ButtonCancel and set the index number as 5. Then go to the ButtonBack component and set the index as 4. So you will get this:
Component Index
====================
ButtonCancel 5
ButtonBack 4
ButtonNext 3
ComboBox1 2
EditBox2 1
EditBox1 0

Then save your work and see if it saves the index correctly.

I believe what is happening is that IDE is trying to make sure all the components have a unique tab index. So when you change the Index number that is already assigned on another component, it reassigns the index to the first available number. This often messes up what you are trying to do by setting the tab index sequence. If you start with the largest index, it seems to take.