매크로

자유
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
분류 제목 글쓴이 최근변경 추천
질문 오토핫키 질문좀 드리겠습니다 7 Dride 2015.07.03 0/0
질문 윈도우 shutdown명령어가 먹히질않을경우 대책이.. 2 우후훅 2015.07.03 0/0
질문 게임 설치하고 킬때 불법 매크로 프로그램있다는거 어... 비씨 2015.06.28 0/0
질문 이미지서치 질문드립니다. 6 띵오 2015.06.29 0/0
자유 이미지버튼 마우스HOVER 효과 2 우후훅 2015.07.03 0/0
질문 ClassNN 이 안 나올경우에는 어떻게 해야 되요? 5 꿈을낚는아이 2015.07.01 0/0
질문 콤보박스에 마우스를 갖다되면 이미지 바뀌는건 구현하... 18 바유무 2015.06.28 0/0
질문 이미지 대조해서 좌표구하기... 기계 2015.06.27 0/0
질문 블레이드 핸콕님 매크로 아직인가요? 1 prodie 2015.12.05 0/0
질문 윈타이틀이 바뀌면 바로바로 변수에저장하는방법이 궁... 4 우후훅 2015.07.03 0/0
질문 웹상의 있는 변수를 클릭하게 할수 있나요? 1 최임원 2015.06.26 0/0
질문 오토핫키 패킹하면 서든같은게임에서도 이용가능한가요? 3 세나블텍 2016.07.15 0/0
질문 com.AHK 질문좀 드리겠습니다. 1 제발등업좀2 2015.06.30 0/0
질문 질문좀 드려요 콤보박스가 제대로 작동을 왜 안하는걸... 8 바유무 2015.06.29 0/0
질문 루프문 질문 ㅠㅠ 10 라미첼 2015.06.27 0/0
질문 리스트뷰 행 부분에 색상입힐수는 없을까요? 우후훅 2015.06.24 0/0
자유 젤 처음에 오핫키로 짠 소스보니 추억이 살포시 나네요~ㅎ 4 칼시이나 2015.06.27 0/0
질문 DDL을 통해 Winget으로 지니모션 창을 따올때.. 5 아잉뿌잉 2015.06.24 0/0
질문 postmessage 드래그 질문드립니다. 3 칼시이나 2015.06.30 0/0
정보 항상위에있는 메모장 스크립트 성지순례왔다 2015.06.21 0/0
Board Pagination Prev 1 ... 159160161162163164165166167 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글