pixelsearch Posted February 11, 2023 Share Posted February 11, 2023 Hi everybody I got an issue in a script, when I right click inside the area of a resizable control. When you run the code below and you right click inside the light blue area, then a context menu will appear (at least an ersatz of context menu showing "Matching characters", as I deleted plenty of things in the code to keep it small) . This blue area corresponds to an Edit control ($ebRegExp) placed inside a Tab Item ($TabSheet0) If you try to right click in any of the 3 other Tab Items, you'll get the common context menu (cut, copy, paste etc...) as you're inside Edit controls too (each TabItem got its own Edit control) Now, back to the light blue area : the context menu ""Matching characters" appears correctly if : 1) The GUI got its original size 2) Or the GUI is maximized. The code below works correctly for these 2 cases, no matter the place you right click inside the blue area, but today I decided to add a $WS_SIZEBOX style to the GUI so it will be resizable. Also as I don't want the GUI to become too small, then I'm using WM_GETMINMAXINFO to keep a minimal width & height (in fact it's the GUI original size which will be used as minimal width & height : you can't shrink it but you can enlarge it) As soon as I did that, when I resize the GUI by enlarging it, you'll notice that the right click doesn't work correctly anymore in the light blue area. There will be zones where it will work (displaying the context menu "Matching characters") but there will be other zones where it will display the common context menu (cut, copy, paste etc...) Does anyone got an idea about what needs to be changed in the code to display only the context menu "Matching characters" ? The goal is to always display this damned context menu, no matter the GUI got its original size, is maximized... or got any size after it has been resized manually. Thanks expandcollapse popup#include <GUIConstants.au3> #include <MsgBoxConstants.au3> #include <GuiTab.au3> Global $hGUI = GUICreate("Test right click", 460, 598, -1, -1, _ BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX)) Global $aGUIInitPos = WinGetPos($hGUI) ; see Func WM_GETMINMAXINFO $grpExpressions = GUICtrlCreateGroup("", 4, 156, 449, 145, -1, $WS_EX_TRANSPARENT) $tabExpr = GUICtrlCreateTab(8, 174, 442, 121, BitOR($TCS_BUTTONS, $TCS_FLATBUTTONS, $TCS_FOCUSONBUTTONDOWN)) GUICtrlSetFont(-1, 8, 400, 0, "MS Sans Serif") GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT) $TabSheet0 = GUICtrlCreateTabItem("Search Pattern") $ebRegExp = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") GUICtrlSetBkColor(-1, 0xCCFFFF) ; light blue $TabSheet1 = GUICtrlCreateTabItem("Replace Pattern") $ebRegExpReplace = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") $TabSheet2 = GUICtrlCreateTabItem("Result Prefix") $ebResultPrefix = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") $TabSheet3 = GUICtrlCreateTabItem("Result Suffix") $ebResultSuffix = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") GUICtrlCreateTabItem("") GUICtrlCreateGroup("", -99, -99, 1, 1) $lblDummy = GUICtrlCreateLabel("", 336, 552, 1, 1) ; 1 pixel size ! Good luck to click on it in the GUI :) $lblDummycontext = GUICtrlCreateContextMenu($lblDummy) $hDummycontext = GUICtrlGetHandle($lblDummyContext) ; for function _TrackPopupMenu() $mnu0200 = GUICtrlCreateMenu("Matching Characters", $lblDummycontext) GUIRegisterMsg($WM_GETMINMAXINFO, "WM_GETMINMAXINFO") GUISetState(@SW_SHOW) Local $aInfo, $mPos, $aEditPos, $iRclick_count = 0 While 1 $aInfo = GUIGetCursorInfo() If IsArray($aInfo) Then If $aInfo[3] = 1 Then ; right click Select Case $aInfo[4] = $ebRegExp ; no problem when hovering "match text" edit control $ebRegExp (in its original size) $mPos = MouseGetPos() _TrackPopupMenu($hGUI, $hDummycontext, $mPos[0], $mPos[1]) Case BitAND(WinGetState($hGUI), $WIN_STATE_MAXIMIZED) = $WIN_STATE_MAXIMIZED ; conditions to display context help menu change a lot if maximized If $aInfo[4] = $tabExpr And _GUICtrlTab_GetCurSel($tabExpr) = 0 Then ; 0 = 1st Tab (Search Pattern) $iRclick_count += 1 ; 1+ If $iRclick_count = 1 Then $aEditPos = WinGetPos(GUICtrlGetHandle($ebRegExp)) ; ckeck only once (GUI is maximized) $mPos = MouseGetPos() If $mPos[0] > $aEditPos[0] _ And $mPos[1] > $aEditPos[1] _ And $mPos[0] < $aEditPos[0] + $aEditPos[2] _ And $mPos[1] < $aEditPos[1] + $aEditPos[3] Then _TrackPopupMenu($hGUI, $hDummycontext, $mPos[0], $mPos[1]) EndIf EndIf EndSelect EndIf EndIf $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd ;==================================================== Func _TrackPopupMenu($hWnd, $hMenu, $x, $y) DllCall("user32.dll", "int", "TrackPopupMenuEx", "hwnd", $hMenu, "int", 0, "int", $x, "int", $y, "hwnd", $hWnd, "ptr", 0) EndFunc ;==================================================== Func WM_GETMINMAXINFO($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg, $wParam If $hWnd = $hGUI Then Local $minmaxinfo = DllStructCreate("int;int;int;int;int;int;int;int;int;int", $lParam) DllStructSetData($minmaxinfo, 7, $aGUIInitPos[2]) ; min width DllStructSetData($minmaxinfo, 8, $aGUIInitPos[3]) ; min height Return 0 ; "If an application processes this message, it should return zero." (msdn) EndIf Return $GUI_RUNDEFMSG EndFunc Link to comment Share on other sites More sharing options...
mistersquirrle Posted February 11, 2023 Share Posted February 11, 2023 (edited) I added a little logging, and what I found was that at a certain width, you stopped right clicking on the Edit control, and were instead clicking on the Tab control: expandcollapse popup; https://www.autoitscript.com/forum/topic/209667-right-click-in-a-resizable-control/ #include <GUIConstants.au3> #include <MsgBoxConstants.au3> #include <GuiTab.au3> Global $hGUI = GUICreate("Test right click", 460, 598, -1, -1, _ BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX)) Global $aGUIInitPos = WinGetPos($hGUI) ; see Func WM_GETMINMAXINFO $grpExpressions = GUICtrlCreateGroup("", 4, 156, 449, 145, -1, $WS_EX_TRANSPARENT) ConsoleWrite('$grpExpressions: ' & $grpExpressions & @CRLF) $tabExpr = GUICtrlCreateTab(8, 174, 442, 121, BitOR($TCS_BUTTONS, $TCS_FLATBUTTONS, $TCS_FOCUSONBUTTONDOWN)) ConsoleWrite('$tabExpr: ' & $tabExpr & @CRLF) GUICtrlSetFont(-1, 8, 400, 0, "MS Sans Serif") GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT) $TabSheet0 = GUICtrlCreateTabItem("Search Pattern") ConsoleWrite('$TabSheet0: ' & $TabSheet0 & @CRLF) $ebRegExp = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) ConsoleWrite('$ebRegExp: ' & $ebRegExp & @CRLF) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") GUICtrlSetBkColor(-1, 0xCCFFFF) ; light blue ;~ GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) $TabSheet1 = GUICtrlCreateTabItem("Replace Pattern") ConsoleWrite('$TabSheet1: ' & $TabSheet1 & @CRLF) $ebRegExpReplace = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) ConsoleWrite('$tabExpr: ' & $tabExpr & @CRLF) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") $TabSheet2 = GUICtrlCreateTabItem("Result Prefix") ConsoleWrite('$TabSheet2: ' & $TabSheet2 & @CRLF) $ebResultPrefix = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) ConsoleWrite('$ebResultPrefix: ' & $ebResultPrefix & @CRLF) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") $TabSheet3 = GUICtrlCreateTabItem("Result Suffix") ConsoleWrite('$TabSheet3: ' & $TabSheet3 & @CRLF) $ebResultSuffix = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) ConsoleWrite('$ebResultSuffix: ' & $ebResultSuffix & @CRLF) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") GUICtrlCreateTabItem("") GUICtrlCreateGroup("", -99, -99, 1, 1) $lblDummy = GUICtrlCreateLabel("", 336, 552, 1, 1) ; 1 pixel size ! Good luck to click on it in the GUI :) $lblDummycontext = GUICtrlCreateContextMenu($lblDummy) $hDummycontext = GUICtrlGetHandle($lblDummyContext) ; for function _TrackPopupMenu() $mnu0200 = GUICtrlCreateMenu("Matching Characters", $lblDummycontext) GUIRegisterMsg($WM_GETMINMAXINFO, "WM_GETMINMAXINFO") GUISetState(@SW_SHOW) Local $aInfo, $mPos, $aEditPos, $iRclick_count = 0 While 1 $aInfo = GUIGetCursorInfo() If IsArray($aInfo) Then If $aInfo[3] = 1 Then ; right click Select Case $aInfo[4] = $ebRegExp ; no problem when hovering "match text" edit control $ebRegExp (in its original size) $mPos = MouseGetPos() _TrackPopupMenu($hGUI, $hDummycontext, $mPos[0], $mPos[1]) Case BitAND(WinGetState($hGUI), $WIN_STATE_MAXIMIZED) = $WIN_STATE_MAXIMIZED ; conditions to display context help menu change a lot if maximized If $aInfo[4] = $tabExpr And _GUICtrlTab_GetCurSel($tabExpr) = 0 Then ; 0 = 1st Tab (Search Pattern) $iRclick_count += 1 ; 1+ If $iRclick_count = 1 Then $aEditPos = WinGetPos(GUICtrlGetHandle($ebRegExp)) ; ckeck only once (GUI is maximized) $mPos = MouseGetPos() If $mPos[0] > $aEditPos[0] _ And $mPos[1] > $aEditPos[1] _ And $mPos[0] < $aEditPos[0] + $aEditPos[2] _ And $mPos[1] < $aEditPos[1] + $aEditPos[3] Then _TrackPopupMenu($hGUI, $hDummycontext, $mPos[0], $mPos[1]) EndIf EndIf Case Else ConsoleWrite($aInfo[4] & @CRLF) EndSelect EndIf EndIf $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd ;==================================================== Func _TrackPopupMenu($hWnd, $hMenu, $x, $y) DllCall("user32.dll", "int", "TrackPopupMenuEx", "hwnd", $hMenu, "int", 0, "int", $x, "int", $y, "hwnd", $hWnd, "ptr", 0) EndFunc ;==================================================== Func WM_GETMINMAXINFO($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg, $wParam If $hWnd = $hGUI Then Local $minmaxinfo = DllStructCreate("int;int;int;int;int;int;int;int;int;int", $lParam) DllStructSetData($minmaxinfo, 7, $aGUIInitPos[2]) ; min width DllStructSetData($minmaxinfo, 8, $aGUIInitPos[3]) ; min height Return 0 ; "If an application processes this message, it should return zero." (msdn) EndIf Return $GUI_RUNDEFMSG EndFunc So changing this line: $tabExpr = GUICtrlCreateTab(8, 174, 442, 121, BitOR($TCS_BUTTONS, $TCS_FLATBUTTONS, $TCS_FOCUSONBUTTONDOWN)) To a height value that wouldn't extend down into the Edit prevented it from basically being 'over' the edit: $tabExpr = GUICtrlCreateTab(8, 174, 442, 21, BitOR($TCS_BUTTONS, $TCS_FLATBUTTONS, $TCS_FOCUSONBUTTONDOWN)) Another option would probably be to get the ControlGetPos and do your own calc for if you're over the edit box. I'm not sure why the ordering switches at a certain size. Edited February 11, 2023 by mistersquirrle pixelsearch 1 We ought not to misbehave, but we should look as though we could. Link to comment Share on other sites More sharing options...
Nine Posted February 11, 2023 Share Posted February 11, 2023 (edited) Your dock resizing is not working correctly. Use instead : GUICtrlSetResizing(-1, $GUI_DOCKAUTO) Edited February 11, 2023 by Nine pixelsearch 1 “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
mistersquirrle Posted February 11, 2023 Share Posted February 11, 2023 (edited) I did play around a little with the Resizing options, but I don't think that I applied them to the right things. I looked at it again after you comment Nine, and for me $GUI_DOCKBORDERS (applied to everything) seems to work well in the example: expandcollapse popup#include <GUIConstants.au3> #include <MsgBoxConstants.au3> #include <GuiTab.au3> Global $hGUI = GUICreate("Test right click", 460, 598, -1, -1, _ BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX)) Global $aGUIInitPos = WinGetPos($hGUI) ; see Func WM_GETMINMAXINFO $grpExpressions = GUICtrlCreateGroup("", 4, 156, 449, 145, -1, $WS_EX_TRANSPARENT) ConsoleWrite('$grpExpressions: ' & $grpExpressions & @CRLF) GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) $tabExpr = GUICtrlCreateTab(8, 174, 442, 121, BitOR($TCS_BUTTONS, $TCS_FLATBUTTONS, $TCS_FOCUSONBUTTONDOWN)) ConsoleWrite('$tabExpr: ' & $tabExpr & @CRLF) GUICtrlSetFont(-1, 8, 400, 0, "MS Sans Serif") GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) $TabSheet0 = GUICtrlCreateTabItem("Search Pattern") ConsoleWrite('$TabSheet0: ' & $TabSheet0 & @CRLF) GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) $ebRegExp = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) ConsoleWrite('$ebRegExp: ' & $ebRegExp & @CRLF) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") GUICtrlSetBkColor(-1, 0xCCFFFF) ; light blue GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) $TabSheet1 = GUICtrlCreateTabItem("Replace Pattern") ConsoleWrite('$TabSheet1: ' & $TabSheet1 & @CRLF) GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) $ebRegExpReplace = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) ConsoleWrite('$tabExpr: ' & $tabExpr & @CRLF) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) $TabSheet2 = GUICtrlCreateTabItem("Result Prefix") ConsoleWrite('$TabSheet2: ' & $TabSheet2 & @CRLF) GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) $ebResultPrefix = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) ConsoleWrite('$ebResultPrefix: ' & $ebResultPrefix & @CRLF) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) $TabSheet3 = GUICtrlCreateTabItem("Result Suffix") ConsoleWrite('$TabSheet3: ' & $TabSheet3 & @CRLF) GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) $ebResultSuffix = GUICtrlCreateEdit("", 12, 201, 434, 90, BitOR($ES_WANTRETURN,$WS_VSCROLL)) ConsoleWrite('$ebResultSuffix: ' & $ebResultSuffix & @CRLF) GUICtrlSetFont(-1, 11, 400, 0, "Lucida Console") GUICtrlSetResizing(-1, $GUI_DOCKBORDERS) GUICtrlCreateTabItem("") GUICtrlCreateGroup("", -99, -99, 1, 1) $lblDummy = GUICtrlCreateLabel("", 336, 552, 1, 1) ; 1 pixel size ! Good luck to click on it in the GUI :) $lblDummycontext = GUICtrlCreateContextMenu($lblDummy) $hDummycontext = GUICtrlGetHandle($lblDummyContext) ; for function _TrackPopupMenu() $mnu0200 = GUICtrlCreateMenu("Matching Characters", $lblDummycontext) GUIRegisterMsg($WM_GETMINMAXINFO, "WM_GETMINMAXINFO") GUISetState(@SW_SHOW) Local $aInfo, $mPos, $aEditPos, $iRclick_count = 0 While 1 $aInfo = GUIGetCursorInfo() If IsArray($aInfo) Then If $aInfo[3] = 1 Then ; right click Select Case $aInfo[4] = $ebRegExp ; no problem when hovering "match text" edit control $ebRegExp (in its original size) $mPos = MouseGetPos() _TrackPopupMenu($hGUI, $hDummycontext, $mPos[0], $mPos[1]) Case BitAND(WinGetState($hGUI), $WIN_STATE_MAXIMIZED) = $WIN_STATE_MAXIMIZED ; conditions to display context help menu change a lot if maximized If $aInfo[4] = $tabExpr And _GUICtrlTab_GetCurSel($tabExpr) = 0 Then ; 0 = 1st Tab (Search Pattern) $iRclick_count += 1 ; 1+ If $iRclick_count = 1 Then $aEditPos = WinGetPos(GUICtrlGetHandle($ebRegExp)) ; ckeck only once (GUI is maximized) $mPos = MouseGetPos() If $mPos[0] > $aEditPos[0] _ And $mPos[1] > $aEditPos[1] _ And $mPos[0] < $aEditPos[0] + $aEditPos[2] _ And $mPos[1] < $aEditPos[1] + $aEditPos[3] Then _TrackPopupMenu($hGUI, $hDummycontext, $mPos[0], $mPos[1]) EndIf EndIf Case Else ConsoleWrite($aInfo[4] & @CRLF) EndSelect EndIf EndIf $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd ;==================================================== Func _TrackPopupMenu($hWnd, $hMenu, $x, $y) DllCall("user32.dll", "int", "TrackPopupMenuEx", "hwnd", $hMenu, "int", 0, "int", $x, "int", $y, "hwnd", $hWnd, "ptr", 0) EndFunc ;==================================================== Func WM_GETMINMAXINFO($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg, $wParam If $hWnd = $hGUI Then Local $minmaxinfo = DllStructCreate("int;int;int;int;int;int;int;int;int;int", $lParam) DllStructSetData($minmaxinfo, 7, $aGUIInitPos[2]) ; min width DllStructSetData($minmaxinfo, 8, $aGUIInitPos[3]) ; min height Return 0 ; "If an application processes this message, it should return zero." (msdn) EndIf Return $GUI_RUNDEFMSG EndFunc Edited February 11, 2023 by mistersquirrle We ought not to misbehave, but we should look as though we could. Link to comment Share on other sites More sharing options...
pixelsearch Posted February 11, 2023 Author Share Posted February 11, 2023 (edited) Many thanks to both of you ! At the time I checked if anyone answered, there was only mistersquirrle 1st answer. His remark concerning the Control Tab height was surprising but it worked : 21 height instead of 121 height, which means you can create a Control Tab that doesn't include the area of the Tab Items (!?) The right click worked correctly after changing 121 to 21, without apparent bad side-effects, that's interesting to remember. 15 hours ago, mistersquirrle said: To a height value that wouldn't extend down into the Edit prevented it from basically being 'over' the edit: This sentence woke me up... finally So I checked all 3 rectangles borders (Group control, Tab Control, light blue Edit Control) using Yashied's Control Viewer (and re-checked with AutoIt Window Info Tool) and the surprise was here : the Group control and the Edit Control resized accordingly when the GUI was expanded, but not the Tab Control which kept its initial size : Then a look at the following line indicated that, maybe, something was going wrong in the script : GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT) $GUI_DOCKWIDTH 256 (Width will not change) $GUI_DOCKHEIGHT 512 (Height will not change) And the help file stipulating this for Tab Controls... Default resizing is $GUI_DOCKSIZE : 768 (256+512) Size will not change. ...made me try this, hoping it may work... $GUI_DOCKAUTO 1 resize and reposition according to new window size ...and it displayed great ! Now the right click works fine anywhere in the resized blue zone. Also, good news, it seems I don't need anymore all the code found in : Case BitAND(WinGetState($hGUI), $WIN_STATE_MAXIMIZED) = $WIN_STATE_MAXIMIZED ... Back here to post all these results... and Nine's answer appeared ($GUI_DOCKAUTO), followed by mistersquirrle 2nd answer. Thanks guys to both of you, it was a big help I'll post soon the amended, complete & useful script in another thread ("Testing Regular Expressions on the fly"), originally written by Lazycat, with ideas from w0uter, mLipok and many changes I applied. It's handy when we need to check RegExp patterns offline. Edit (a few hours after) : the amended "RegExpQuickTester 2.5g.au3" (testing Regular Expressions on the fly) can be found in this link Edited February 12, 2023 by pixelsearch Link to comment Share on other sites More sharing options...
Lepes Posted February 12, 2023 Share Posted February 12, 2023 15 hours ago, pixelsearch said: which means you can create a Control Tab that doesn't include the area of the Tab Items (!?) Some time ago Tabs controls with hidden tab items was used to create wizards. The Next button on the wizard just show up the next tabSheet. At design time you could see tabs Items to easy develop. Once you ran your application you hide your tabs Items by code, so the user only see "a panel with Next button on it" Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now