Jump to content

Right click in a resizable control


Recommended Posts

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
 

#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

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:

; 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 by mistersquirrle

We ought not to misbehave, but we should look as though we could.

Link to comment
Share on other sites

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:

#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 by mistersquirrle

We ought not to misbehave, but we should look as though we could.

Link to comment
Share on other sites

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 :D
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 :

573913995_TabControlnotresized.png.e40a993c6cf43bcb1043354450c9efa4.png

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

1956759754_TabControlresized.png.9f35a38bc80dbc27e9336c2e0385ce68.png

...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 by pixelsearch
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...