반응형

 

 

원작자 : AHK-just-me

https://github.com/AHK-just-me/Class_LV_Colors/blob/master/Sources/LV_Colors_sample.ahk

 

Class_LV_Colors/Sources/LV_Colors_sample.ahk at master · AHK-just-me/Class_LV_Colors

AHK class providing individual colors for ListView items/subitems. - AHK-just-me/Class_LV_Colors

github.com

 

 

 

라이브러리

Class_LV_Colors.ahk
0.02MB

샘플

LV_Colors_sample.ahk
0.00MB

 

 

파일은 깃허브에 바로 다운로드할 수 있는 파일입니다. 

같은폴더에 넣고 sample.ahk를 실행해주세요 

 

 

 

한번 사용해봅시다

 

 

#SingleInstance,Force
#Include,Class_LV_Colors.ahk

gui,add,listview,x1 y1 w100 h200 HWNDHLV_a vlist_a glist_g_value,List
Loop,10
	Lv_add(,A_index " 테스트")
gui,show


global color_list:= new LV_Colors(HLV_a)
global click_color:= "0xFFFFB5"
return
list_g_value:
gui,submit,NoHide
gui,listview,list_a
color_list.Row(A_EventInfo-1,click_color)
color_list.Row(A_EventInfo+1,click_color)
GuiControl, +Redraw,list_a

return
f1::
color_list.Clear(AltRows)
GuiControl, +Redraw,list_a

 

 

 

 

더블클릭시 클릭한 리스트 앞 뒤로 색상이 출력되도록 해보았습니다. 

F1 핫키는

전체 컬러 삭제입니다. 

 

 

해당 라이브러리 코드를 보면

   Clear(AltRows := False, AltCols := False) {
      If (AltCols)
         This.AltCols := False
      If (AltRows)
         This.AltRows := False
      This.Remove("Rows")
      This.Remove("Cells")
      Return True
   }

 

Clear 라는 함수의 파라미터 설명도 같이 볼 수있습니다. 

   ; Clear()         Clears all row and cell colors.
   ; Parameters:     AltRows     -  Reset alternate row coloring (True / False)
   ;                                Default: False
   ;                 AltCols     -  Reset alternate column coloring (True / False)
   ;                                Default: False
   ; Return Value:   Always True.
   ;

 

 

파라미터 , 리턴벨류 각각 상황에 맞게 사용하시면됩니다. 


global color_list:= new LV_Colors(HLV_a) ; HWND listview 핸들값입니다. 

;새로운 LV_Colors 클래스를 생성합니다 파라미터로 listview핸들값을 넣어주고, 적용된 값을 color_list에 담습니다. 
global click_color:= "0xFFFFB5" ; 색상함수 
return
list_g_value:
gui,submit,NoHide
gui,listview,list_a
color_list.Row(A_EventInfo-1,click_color)

; color_list의 Row 값에 ( raw : A_eventinfo는 최근 클릭한 행 이벤트 정보 입니다. , 색상값)
color_list.Row(A_EventInfo+1,click_color)

; color_list의 Row 값에 ( raw : A_eventinfo는 최근 클릭한 행 이벤트 정보 입니다. , 색상값)
GuiControl, +Redraw,list_a

;list_a를 새롭게 갱신합니다

return
f1::
color_list.Clear(AltRows)
GuiControl, +Redraw,list_a

반응형

+ Recent posts