예를들어 Gui의 Edit칸에 123을 적는다 치면 12까진 그대로 나오고 3을 치면 12가 지워지고 3만남게 할 수 있나요?
- Elkha - Blue
- 오토핫키 커뮤니티
- 오토핫키
Gui컨트롤에서 Edit칸에 적는 글자수를 인식하게 할 수 있나요?
-
-
gui, add, edit, x0 y180 w100 h20 vTestbox gTestbox
gui , show
return
Testbox:
guicontrolget,Testbox
stringlen,strcount,Testbox
if (strcount > 2)
{
stringmid,Testbox2,Testbox,3
guicontrol,,Testbox,%Testbox2%
postmessage,0xB1, 2, 2, edit1
}
return
이렇게해보세요
-
오오.. 감사합니다 stringmid stringlen strcount guicontrolget은 각각 무슨 역할을 하는건가요?
-
피카부님이 공유해놓으신 해설서에서 찾아보세요.
-
아 그리고 바뀐 값이 오랫동안 유지되면 바로 없어지게 할 수 있나요?
예를들어 8을 치고 바로 다른숫자를 누르면 3번째부터 초기화되지만
8을 친상태로 5초간 기다리면 2번째를 쳐도 초기화되도록.. -
위에 알려드린 방법에서 조금더 응용하면 가능할거 같습니다.
직접 만들어보시는 걸 추천드립니다. -
못찾겠어서 일단 카운트형식으로 짜봤는데 괜찮은가요?
if (숫자자리수 = 1){
1자리수유지시간 := 0
loop
{
1자리수유지시간 := 1자리수유지시간 + 1
Sleep, 1000
}
else
{
1자리수유지시간 := 0
return
}
if (1자리수 유지시간 > 4){
stringmid,숫자,L
guicontrol,,숫자,%숫자%
postmessage,0xB1, 2, 2, edit1
}
} -
포스트메시지의 0xB1은 뭘 의미하는 건가요? 표현식 목록에 찾아봐도 안나오네요
-
0xb1은 에디트박스의 내용 선택 메세지입니다.
https://msdn.microsoft.com/ko-kr/library/windows/desktop/bb761661(v=vs.85).aspx -
5초간 숫자가 변하지 않음을 인식하는 코드가 어떤건지 찾지를 못하겠네요..
guicontrolget,숫자
stringlen,숫자자리수,숫자
if (숫자자리수 > 2){
stringmid,숫자2,숫자,3
guicontrol,,숫자,%숫자2%
postmessage,0xB1, 2, 2, edit1
}
if(숫자자리수 = 1){
if(sleep, 5000){
stringmid,숫자,L
guicontrol,.숫자,%숫자%
postmessage,0xB1, 2, 2, edit1
}
}
했는데 sleep으로는 안되는거같아요
저도 궁금합니다.