mustafakara Posted April 30, 2013 Share Posted April 30, 2013 arkadaşlar merhabalar aşağıdaki örnekte tab tuşu ile gezerken hangi inputun üzerine geldiysem o inputun adını mesajla almak istiyorum benim örneğimde inputun üzerine gelince veriyor ancak ayrılırken de aynı mesajı veriyor hatta yazarken de uyardığı için yazamıyorum. ben sadece inputun üzerine geldiğimde uyarı almak istiyorum nasıl birşey yapmalıyım? örnek Global $gui = GUICreate("Giriş Paneli", 500, 250) Global $Input1 = GUICtrlCreateInput("", 112, 18, 185, 21, 0x0001) Global $Input2 = GUICtrlCreateInput("", 112, 62, 185, 21, BitOR(0x0020, 0x0001)) GUIRegisterMsg(273, "MY_WM_COMMAND") GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case -3 Exit EndSwitch WEnd Func MY_WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) Switch $lParam Case GUICtrlGetHandle($Input1) MsgBox(0,"slm","input 1 üzerindesiniz") Case GUICtrlGetHandle($Input2) MsgBox(0,"slm","input 2 üzerindesiniz") EndSwitch EndFunc Quote Link to comment Share on other sites More sharing options...
asmazh Posted April 30, 2013 Share Posted April 30, 2013 1 - GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND") Bu mesajı kodlar içerisinde gui'nin tanımlandığı yere koymaman gerekir. 2 - Ayrıca fonksiyon dışında tanımlanan değişkenlerin varsayılan tipi "global"dır. Yani fonksiyon dışında tanımladığın değişkenlerin başına (çok özel bir durum söz konusu olmadıkça) "Global" koymana gerek yok. 3 - Dediğini yapabilmen için $En_killfocus, $En_setfocus, $en_update olaylarını kullanman gerek. Senin için şöyle bir şey yaptım. #include <GuiEdit.au3> #include <WinApi.au3> #include <WindowsConstants.au3> Global $gui = GUICreate("Giriş Paneli", 500, 250) Global $Input1 = GUICtrlCreateInput("", 112, 18, 185, 21) Global $Input2 = GUICtrlCreateInput("", 112, 62, 185, 21) GUISetState(@SW_SHOW) GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND") While 1 $nMsg = GUIGetMsg() Switch $nMsg Case -3 Exit EndSwitch WEnd Func MY_WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg Local $hWndFrom, $iIDFrom, $iCode $hWndFrom = $lParam $iIDFrom = _WinAPI_LoWord($wParam) $iCode = _WinAPI_HiWord($wParam) Switch $hWndFrom Case GUICtrlGetHandle($Input1), $Input1 Switch $iCode Case $EN_UPDATE ; Text'e herhangi bir veri girildiğinde ya da silindiğinde. ToolTip(GUICtrlRead($Input1)) Case $EN_KILLFOCUS ; TextBox'tan ayrıldığında. ToolTip("güle güle!") Case $EN_SETFOCUS ; TextBox'a tıklandığında. ToolTip("hoş geldin!") EndSwitch EndSwitch EndFunc ;==>MY_WM_COMMAND Kolay gelsin. Quote Link to comment Share on other sites More sharing options...
mustafakara Posted April 30, 2013 Author Share Posted April 30, 2013 sevgili asmazh söylediklerini anladım ayrıca örnek işime yaradı çok teşekkürler sanada kolay gelsin Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.