매크로

자유
2015.06.28 14:40

이미지버튼 마우스HOVER 효과

조회 수 333 추천 0 댓글 2


저번에 제가 질문드렸던 내용인데요

다른거 찾던중에 이게 보이네요

방법들은 정말 많은거 같은데 영문은 솔직히 보기만해도 울렁거려서 잘안찾아지긴하네요


이 방법도 완벽하지는 않네요 . 완벽한 거는 버튼에 마우스를 갖다댈경우 버튼 이미지가 변화하고

다시 클릭시 또다시 변하고 , 마우스 땟을때 다시 원상태로 복귀해야하는데요


https://i.imgur.com/6xhqMpB.gif?



아래 참고 하실분들 ...


;===========================================================================================
AddGraphicButton("SampleButton1", A_WorkingDir . "\img1.bmp", "x32 y39 h70 w70 gBT", 70, 70)
Gui, Show,x1394 y268 h154 w137, Bitmap Buttons
OnMessage(0x200, "MouseMove")
OnMessage(0x2A3, "MouseLeave")
OnMessage(0x202, "MouseLeave") ; Restore image on LBUTTONUP
Return

MouseLeave(wParam, lParam, msg, hwnd)
{
? Global
? If (hwnd = SampleButton1_hwnd)
??? AddGraphicButton("SampleButton1", A_WorkingDir . "\img1.bmp", "x32 y39 h70 w70 gBT", 70, 70)
? Return
}
MouseMove(wParam, lParam, msg, hwnd)
{
? Global
? Static _LastButtonData = true
;? MsgBox, %hwnd%,%samplebutton1_hwnd%
? If (hwnd = SampleButton1_hwnd)
??? If (_LastButtonData != SampleButton1_hwnd)
????? AddGraphicButton("SampleButton1", A_WorkingDir . "\img2.bmp", "x32 y39 h70 w70 gBT", 70, 70)
? _LastButtonData := hwnd
? Return
}


BT:
MsgBox, 버튼 클릭함
return

GuiClose:
ExitApp

; *******************************************************************
; AddGraphicButton.ahk
; *******************************************************************
; Version: 2.1 Updated: May 20, 2007
; by corrupt
; Code contributions by: lingoist
; *******************************************************************
; VariableName = variable name for the button
; ImgPath = Path to the image to be displayed
; Options = AutoHotkey button options (g label, button size, etc...)
; bHeight = Image height (default = 32)
; bWidth = Image width (default = 32)
; *******************************************************************
; note: calling the function again with the same variable name will
; modify the image on the button
; *******************************************************************
AddGraphicButton(VariableName, ImgPath, Options="", bHeight=32, bWidth=32)
{
Global
Local ImgType, ImgType1, LR_LOADFROMFILE, NULL, BM_SETIMAGE
; BS_BITMAP := 128, IMAGE_BITMAP := 0, BS_ICON := 64, IMAGE_ICON := 1
LR_LOADFROMFILE := 16
BM_SETIMAGE := 247
NULL=
SplitPath, ImgPath,,, ImgType1
ImgTYpe := (ImgType1 = "bmp") ? 128 : 64
If (%VariableName%_img != "")
? DllCall("DeleteObject", "UInt", %VariableName%_img)
Else
? Gui, Add, Button,? v%VariableName% hwnd%VariableName%_hwnd +%ImgTYpe% %Options%
ImgType := (ImgType1 = "bmp") ? 0 : 1
%VariableName%_img := DllCall("LoadImage", "UInt", NULL, "Str", ImgPath, "UInt", ImgType, "Int", bWidth, "Int", bHeight, "UInt", LR_LOADFROMFILE, "UInt")
DllCall("SendMessage", "UInt", %VariableName%_hwnd, "UInt", BM_SETIMAGE, "UInt", ImgType,? "UInt", %VariableName%_img)
Return, %VariableName%_img ; Return the handle to the image
}?


;===========================================================================================





한가지 제가 궁금한 부분이 있는데요.

GUI를 만들어서 실행할경우 , 아무 버튼도 선택하지 않았는데 기본적으로 실행하자마자 선택되어있는게 있어요

이걸 없앨수 없나요.

위 이미지 버튼 상황을 예로 들자면,


?https://i.imgur.com/T3bPmXw.jpg


보시다시피 처음 실행하면 왼쪽처럼 아무것도 없이 깔끔해야하는데 , 우측그림보면 쩜쩜쩜 테두리가 있습니다.

이게 선택이 되어있다는건데요. 이게 어쩔땐 나오고 어쩔땐 안나옵니다.

이것 뿐만 아니라 다른 GUI들도 만들면 꼭 저런 현상이 있네요.?

저걸 안보이게 안되는건가요.



  • 모바게 2015.06.29 23:27

    이건 어떠세요?

    https://github.com/AHK-just-me/Class_ImageButton

  • 우후훅 2015.07.03 11:41
    요새 잠쉬 손을 놓고 있는 바람에 별다른 테스트를 못하고 있습니다.
    틈나는 대로 해볼게요 감사합니다.

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 [질문]듀얼모니터 가상 화면으로 보내기 + 위치고정 춥다람쥐 2015.07.05 0/0
질문 DLL관련 변수선언, Guicontrol관련 질문. 2 아잉뿌잉 2015.07.06 0/0
질문 getkeystate 정지 시키는방법도 잇나요? 2 바유무 2015.07.04 0/0
질문 오토핫키를 통해서 블로그 관리도 가능한가요? 5 궁극의 2015.07.07 0/0
질문 아두이노 연동을 통한 확장이 될가요? 6 궁극의 2015.07.04 0/0
질문 Postmessage wparam, lparam 질문입니다. 5 레이븐 2015.07.04 0/0
질문 외치기님이 작성하신 비활성 이미지 함수를 이용중 오... 10 찬늘 2015.11.26 0/0
질문 (GUI) edit에 입력받은 변수로 대기시간을 설정하는 스... 6 잠튕이 2015.07.02 0/0
질문 구이 에 인터넷 창 띄우기 2 제발등업좀2 2015.07.02 0/0
질문 edit에 대해서 간단한거 하나만 질문합니다. 4 치즈치즈해 2015.07.02 0/0
질문 이미지서치 질문있습니다. 4 법돌 2015.07.02 0/0
질문 winmove 질문좀 드리겠습니다. 7 우앙쿵쾅 2015.08.04 0/0
질문 PostMessage 질문좀요 1 허밍의지 2015.07.12 0/0
질문 winhide로 숨긴 창에 postmessage 쏠 수 없나요? 2 인형 2015.07.05 0/0
질문 리스트박스에서 더블클릭하면 복사되게하는 법 질문죰 2 오호라욧 2015.07.03 0/0
질문 주어진 시간만큼 쉬고, 클릭을 하게 만들고 싶은데.. 2 헐키 2015.06.30 0/0
정보 이미지 서치시 범위찾는 스크립트입니다 beat 2015.06.30 0/0
정보 블루스택 PostMessage 사용법 4 천례향 2016.03.21 0/0
질문 맵대조 하는 법을 몰라서.. 그냥 억지로 짜내네요.ㅠ.ㅠ. 5 헐키 2015.06.30 0/0
질문 낚시 매크로를 만들고 있습니다. 고수님들 좀 도와 주... 3 꿈을낚는아이 2022.03.01 0/0
Board Pagination Prev 1 ... 161162163164165166167168169 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글