반응형
오토핫키 listview의 Column 및 Low 의 리스트 내역을
클릭하면 데이터를 취득하는 스크립트입니다.
#SingleInstance,force
title:="listview"
Gui, Add, ListView, x12 y9 w450 h250 Grid HwndHLV1 gcolumn_data AltSubmit,num1|num2|num3|num4|num5|num6
Loop,5
Lv_add(,A_index,A_index+1,A_index+2,A_index+3,A_index+4,A_index+5)
Gui, Show, x993 y397 h275 w474,% title
Return
column_data:
gui,submit,NoHide
click_Data:= A_EventInfo
If (A_GuiEvent = "DoubleClick") {
Column := LV_SubItemHitTest(HLV1)
LV_GetText(text,click_Data,Column)
msgbox,% Column " 열의 " click_Data " 행 데이터의 " text " 입니다"
}
return
LV_SubitemHitTest(HLV) {
Static LVM_SUBITEMHITTEST := 0x1039
VarSetCapacity(POINT, 8, 0)
DllCall("User32.dll\GetCursorPos", "Ptr", &POINT)
DllCall("User32.dll\ScreenToClient", "Ptr", HLV, "Ptr", &POINT)
VarSetCapacity(LVHITTESTINFO, 24, 0)
NumPut(NumGet(POINT, 0, "Int"), LVHITTESTINFO, 0, "Int")
NumPut(NumGet(POINT, 4, "Int"), LVHITTESTINFO, 4, "Int")
SendMessage, LVM_SUBITEMHITTEST, 0, &LVHITTESTINFO, , ahk_id %HLV%
If (ErrorLevel = -1)
Return 0
Subitem := NumGet(LVHITTESTINFO, 16, "Int") + 1
Return Subitem
}
return
GuiClose:
ExitApp
return
각 "행" , "열" 의 위치를 더블클릭하면
행과 열의 넘버와 , 데이터를 확인할 수 있습니다.
또한, 특정 칼럼만 이벤트를 주고싶을 때는
#SingleInstance,force
title:="listview"
Gui, Add, ListView, x12 y9 w450 h250 Grid HwndHLV1 gcolumn_data AltSubmit,num1|num2|num3|num4|num5|num6
Loop,5
Lv_add(,A_index,A_index+1,A_index+2,A_index+3,A_index+4,A_index+5)
Gui, Show, x993 y397 h275 w474,% title
Return
column_data:
gui,submit,NoHide
click_Data:= A_EventInfo
If (A_GuiEvent = "DoubleClick") {
Column := LV_SubItemHitTest(HLV1)
if(Column = "2"){
LV_GetText(text,click_Data,Column)
msgbox,% Column " 열의 " click_Data " 행 데이터의 " text " 입니다"
}
}
return
LV_SubitemHitTest(HLV) {
Static LVM_SUBITEMHITTEST := 0x1039
VarSetCapacity(POINT, 8, 0)
DllCall("User32.dll\GetCursorPos", "Ptr", &POINT)
DllCall("User32.dll\ScreenToClient", "Ptr", HLV, "Ptr", &POINT)
VarSetCapacity(LVHITTESTINFO, 24, 0)
NumPut(NumGet(POINT, 0, "Int"), LVHITTESTINFO, 0, "Int")
NumPut(NumGet(POINT, 4, "Int"), LVHITTESTINFO, 4, "Int")
SendMessage, LVM_SUBITEMHITTEST, 0, &LVHITTESTINFO, , ahk_id %HLV%
If (ErrorLevel = -1)
Return 0
Subitem := NumGet(LVHITTESTINFO, 16, "Int") + 1
Return Subitem
}
return
GuiClose:
ExitApp
return
if(column = 2) 의 조건문을 달아 주면됩니다
이는 칼럼의 두번째 클릭하면 선택한 위치의데이터가 출력 됩니다.
반응형
'오토핫키 > 오토핫키 스크립트' 카테고리의 다른 글
오토핫키(AutoHotkey) GUI Progress 진행 상황 표기 (0) | 2024.05.28 |
---|---|
오토핫키(AutoHotkey) 광학 문자 인식(OCR) - UWP API 2배 빠름 (0) | 2024.05.26 |
오토핫키(AutoHotkey) 툴팁(tooltip) 깜빡임 없이 출력 (0) | 2024.05.18 |
오토핫키(AutoHotkey) 로그인 인증 - 보안문자 (0) | 2024.05.18 |
오토핫키(AutoHotkey) Listview 배경색상 넣기 (Class_LV_Colors-master) (0) | 2024.05.14 |