Цитата K.A.V.:
Какую тогда логику в коде строить? Проверка через X-секунд, вводилось ли значение в поле и потом определять, находится ли курсор над тексбоксом? »
|
Не над, а внутри границ текстбокса (или наоборот, вне границ - это может быть любое место окна страницы или
наведение указателя на любой другой
выбранный конкретный элемент на странице)
Но для начала на запрос :
Цитата Vincent7:
если в текст боксе вводят число меньшее, чем уже заданное там число, то выходе из текст бокса,
это число автоматически менялось на заданое изначально число? »
|
задать бы вопрос - а на хрена это надо ? Какой практический смысл в таком извращении ?
Мне вот стало интересно решение этой задачи в совсем другом ракурсе практики... Ну да ладно.
Если взять ранее предлагаемый пример с вводом пароля, то отследить нахождение указателя можно, добавив в Function EditNotify такой код :
Код:
System::Alloc 8
Pop $0
System::Call 'USER32::GetCursorPos(ir0)'
System::Call '*$0(i.r8,i.r9)'
System::Free $0
StrCpy $1 $Password_Text
System::Call 'USER32::WindowFromPoint(ir8,ir9)i.r1'
System::Call 'USER32::GetClassName(ir1,t.r2,i ${NSIS_MAX_STRLEN})'
MessageBox mb_ok "$1=$2" ; если $1=Edit, тогда бла-бла-бла
Это работает. Наверняка можно сделать изящнее и продвинутее, но возиться не понятно ради чего, лень, да и знаний не хватает...
PS Также меня интересует, каким образом отслеживать клики нужных кнопок мыши и как организовать комбинированные нажатия на кнопки, совместно с выбранным символом клавиш. ( Например, на странице есть кнопка, нажав которую совместно с цифрой 1 - запустится или получится одно действие, а нажатие
той же кнопки, совместно с цифрой 2 - другое. И т.д. для любых сочетаний символов, в том числе и без нажатия кнопок - только с клавиатуры...
Вроде как для этого можно использовать GetAsyncKeyState... Только не получается...