TabCtrl_GetCurSel returns 0 when the handler passed as a parameter is “invalid”. Here is the fix.
- If you are using a dialog box, you need to get the tab handler using GetDlgItem(dialog_hwnd, MY_TAB_ID); and pass that handler to TabCtrl_GetCurSel.
- Make sure you are using the correct variable. I faced the issue when I had two variables with same name but different scopes. I was setting a value of GetDlgItem(dialog_hwnd, MY_TAB_ID) to one variable but passing another variable to TabCtrl_GetCurSel