schmelle Posted June 3, 2008 Share Posted June 3, 2008 (edited) Hi all, does anybody knows how to set the cursor back to position 1 within an Inputbox after leaving the Inputbox? Example: Inputbox ist to small to see whole given text. Text given: 1234567890abcdefghijklmnopqrstuvwxyz Text seen: abcdefghijklmnopqrstuvwxyz After leaving the Inputbox the user should see: 1234567890abcdefghijklmnop Function should work if Inputbox loose focus. Has anybody an idea? Thanks schmelle Edited June 7, 2008 by schmelle [font="Courier New"]Tell it - and I will forget it...Show it - and I will remember me...Share it - and I will understand it![/font] Link to comment Share on other sites More sharing options...
rasim Posted June 3, 2008 Share Posted June 3, 2008 This? Link to comment Share on other sites More sharing options...
schmelle Posted June 3, 2008 Author Share Posted June 3, 2008 This? Hi rasim, I tried it out but it doen't work in my case, perhaps an edit control is not the same as an inputbox. I don't know. Leaving the Inputbox: nothing happens. Here is my code: #include <GUIConstants.au3> Dim $iCUSTNAME = "" Dim $iCUSTGROUP = "" $Form1_1 = GUICreate("TestGUI", 565, 584, 190, 123) $Label1 = GUICtrlCreateLabel("Customer Name", 24, 20, 79, 17) $CUSTNAME = GUICtrlCreateInput($iCUSTNAME, 24, 40, 177, 21) GUICtrlSetTip(-1, "Test Tooltip") GUICtrlSetCursor (-1, 4) $CUSTGROUP = GUICtrlCreateInput($iCUSTGROUP, 24, 88, 177, 21) GUICtrlSetTip(-1, "Test Tooltip") GUICtrlSetCursor (-1, 4) GUISetState(@SW_SHOW) While 596 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Pressing the "TAB" Button or loosing the focus of the Inputbox should set the given input left aligned. Thanks for help. Peter [font="Courier New"]Tell it - and I will forget it...Show it - and I will remember me...Share it - and I will understand it![/font] Link to comment Share on other sites More sharing options...
schmelle Posted June 5, 2008 Author Share Posted June 5, 2008 Here is a "small" Solution: If you copy a string into a InputBox you should use "ControlSetText" instead of "GUICrtlSetData". If you use "ControlSetText" the Text is left aligned! Peter [font="Courier New"]Tell it - and I will forget it...Show it - and I will remember me...Share it - and I will understand it![/font] Link to comment Share on other sites More sharing options...
rasim Posted June 6, 2008 Share Posted June 6, 2008 This? expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> Dim $iCUSTNAME = "" Dim $iCUSTGROUP = "" $Form1_1 = GUICreate("TestGUI", 565, 584, 190, 123) $Label1 = GUICtrlCreateLabel("Customer Name", 24, 20, 79, 17) $CUSTNAME = GUICtrlCreateInput($iCUSTNAME, 24, 40, 177, 21) GUICtrlSetTip(-1, "Test Tooltip") GUICtrlSetCursor (-1, 4) $CUSTGROUP = GUICtrlCreateInput($iCUSTGROUP, 24, 88, 177, 21) GUICtrlSetTip(-1, "Test Tooltip") GUICtrlSetCursor (-1, 4) GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") GUISetState(@SW_SHOW) ControlSetText($Form1_1, "", $CUSTNAME, "Hello world!") While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func WM_COMMAND($hWnd, $Msg, $wParam, $lParam) Local $IDFrom, $iCode $IDFrom = BitAND($wParam, 0xFFFF) $iCode = BitShift($wParam, 16) Switch $IDFrom Case $CUSTNAME, $CUSTGROUP Switch $iCode Case $EN_SETFOCUS GUICtrlSendMsg($IDFrom, $EM_SETSEL, 0, 0) EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc Link to comment Share on other sites More sharing options...
schmelle Posted June 6, 2008 Author Share Posted June 6, 2008 (edited) Hi rasim, thanks for your help. Now I've got the following situation: When I enter text which is longer than the InputBox then text is right aligned. Leaving the InputBox: nothing happens (the text is still right aligned) Moving back into the InputBox with Mouseclick or TAB: Text will be automatically left aligned If you now find a solution that the text within the InputBox will be automatically left aligned when I left the Box with TAB or ENTER I'll be very glad. Thanks and BR schmelle Edited June 6, 2008 by schmelle [font="Courier New"]Tell it - and I will forget it...Show it - and I will remember me...Share it - and I will understand it![/font] Link to comment Share on other sites More sharing options...
rasim Posted June 6, 2008 Share Posted June 6, 2008 Try this: expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> Dim $iCUSTNAME = "" Dim $iCUSTGROUP = "" $Form1_1 = GUICreate("TestGUI", 565, 584, 190, 123) $Label1 = GUICtrlCreateLabel("Customer Name", 24, 20, 79, 17) $CUSTNAME = GUICtrlCreateInput($iCUSTNAME, 24, 40, 177, 21) GUICtrlSetTip(-1, "Test Tooltip") GUICtrlSetCursor (-1, 4) $CUSTGROUP = GUICtrlCreateInput($iCUSTGROUP, 24, 88, 177, 21) GUICtrlSetTip(-1, "Test Tooltip") GUICtrlSetCursor (-1, 4) GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func WM_COMMAND($hWnd, $Msg, $wParam, $lParam) Local $IDFrom, $iCode $IDFrom = BitAND($wParam, 0xFFFF) $iCode = BitShift($wParam, 16) Switch $IDFrom Case $CUSTNAME, $CUSTGROUP Switch $iCode Case $EN_SETFOCUS, $EN_KILLFOCUS GUICtrlSendMsg($IDFrom, $EM_SETSEL, 0, 0) EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc Link to comment Share on other sites More sharing options...
schmelle Posted June 6, 2008 Author Share Posted June 6, 2008 Hi rasim, excellent! You are a really grayscripter!!!! Thanks in advance. BR Peter [font="Courier New"]Tell it - and I will forget it...Show it - and I will remember me...Share it - and I will understand it![/font] 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