Hi guys,

just another annoying question. I have a tab system and when I input something into an editbox and press Enter it creates a new tab and new controls. There will probably be at absolute most 20 new controls in each new tab created.

My question is this, what would be the best way todo that? I was thinking about having id's in the thousands as references as all tabs will be the same, I just need to be able to recall the data from all of the controls. Have, say, 20XX for the first created tab, 30XX for the second, 40XX for the third, etc, then when I need the data use GetDlgItem() and a for loop incrementing the number, or is this the long way of doing it?

Also, I have a button that is just an X which is used to close the currently selected tab, but when TabCtrl_DeleteItem() is called, I assume it redraws the entire top row, which is where the button is (but all the way over the right hand side), the button is hidden until I click on it again or resize the window. I think I've managed to fix this, but I can't remember to be honest, I've tried using SetWindowPos() and setting it TOPMOST but it still hides at times, any idea why it does this.

One last thing while I remember, is there a better alternative to tracking when a program is maximised or restored? I'm using WM_SIZE at the moment (tried WM_SIZING too just in case) but sometimes when I maximise it, the dialog inside doesn't resize, but it will if a drag the edges with a mouse, I can't seem to find anything that works or more accurately, any reason why it doesn't.

Any help would be very greatly appreciated.

Thanks in advance,