;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
;	exlistview'.hsp (HSP-NEXT ¤µ¤¯¤éÍͺî) ¡Î¤Á¤ç¤Ã¤È²þ¤¡Ï
;
;		¥ê¥¹¥È¥Ó¥å¡¼¥â¥¸¥å¡¼¥ë
;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²

;*******************************************************************************
; (exlistview.as) for HSP3.0  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë´ØÏ¢¥â¥¸¥å¡¼¥ë
;
;  #include ¤¹¤ëɬÍפʥץ饰¥¤¥ó¤ä¥Þ¥¯¥í¥Õ¥¡¥¤¥ë
;  #include "sysval.as"
;  #include "gblconst.as"
;  #include "winapi32.as"
;
;  ¢¨²¼µ­¤Îlibrary¤Ï¡¢winapi32.as¤Ë¤Þ¤È¤á¤Æ¤¢¤ê¤Þ¤¹¡£
;
;  #include "user32.as"
;  #include "comctl32.as"
;
;  ¢¨¥â¥¸¥å¡¼¥ëÈÖ¹æ¤Îº¸Â¦¤Ë'*'¤¬ÉÕ¤¤¤Æ¤¤¤ë¤â¤Î¤Ï¡¢¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô¤Ç¤¹¡£
;    ¤½¤ì°Ê³°¤Î¤â¤Î¤Ï¡¢¥â¥¸¥å¡¼¥ëÌ¿Îá¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
;
;-------------------------------------------------------------------------------
;
;* 1.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤òºîÀ®                        (Createlstview)
;  2.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë³ÈÄ¥¥¹¥¿¥¤¥ë¤ÎÀßÄê            (lsvexset)
;  3.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Ë¥«¥é¥à¤òÄɲà                (lsvcladd)
;  4.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Ë¥¢¥¤¥Æ¥àÄɲà                (lsvimadd)
;  5.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Ë¥¤¥á¡¼¥¸ÀßÄê                (lsvimgset)
;  6.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Ë¥µ¥Ö¥¢¥¤¥Æ¥àÄɲà            (lsvsubadd)
;  7.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ëɽ¼¨¥¹¥¿¥¤¥ëÊѹ¹              (lsvchengeview)
;  8.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤ÎÇØ·Ê¿§¤òÀßÄê                (lsvsetbkcol)
;  9.  ¥ê¥¹¥È¥Ó¥å¡¼¤Î¹àÌܤΥƥ­¥¹¥È¿§¡¦ÇØ·Ê¿§¤òÀßÄê          (lsvsettxcol)
;*10.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥Á¥¨¥Ã¥¯¹àÌܾõÂÖ¤ò¼èÆÀ      (lsvgetcheck)
; 11.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥Á¥¨¥Ã¥¯¹àÌܤòÀßÄê          (lsvsetcheck)
; 12.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥«¥é¥à¤ò¾Ãµî                (lsvcldel)
;*13.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥¢¥¤¥Æ¥à¤Î¿ô¤ò¼èÆÀ          (lsvcount)
;*14.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤ÎÁªÂò¥¢¥¤¥Æ¥à¼èÆÀ            (lsvfound)
; 15.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¹àÌܤò¾Ãµî                  (lsvimdel)
; 16.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¹àÌܤÎʸ»úÎó¤ò¼èÆÀ          (lsvgetstr)
; 17.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¹àÌܤÎʸ»úÎó¤òÀßÄê          (lsvsetstr)
; 18.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¹àÌܤòÁªÂò                  (lsvimsel)
; 19.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥«¥é¥à¤Î½ç¤òÀßÄê            (lsvcolumorder)
; 20.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥«¥é¥à¤ÎÉý¤ò¼èÆÀ            (lsvgetclmwidth)
; 21.  ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥«¥é¥à¤ÎÉý¤òÀßÄê            (lsvsetclmwidth)
;
;                                                ºÇ½ª¹¹¿·Æü  2005.09.25 sakura
;*******************************************************************************

#ifdef __hsp30__
#ifndef __EXLISTVIEW__
#define __EXLISTVIEW__
#module
#defcfunc Createlstview int prm1,int prm2,int prm3,int prm4,int prm5
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤òºîÀ® (Createlstview)
;
;   Ìá¤êÃÍ : À®¸ù lvshwnd=¥ê¥¹¥È¥Ó¥å¡¼¥Ï¥ó¥É¥ë, ¼ºÇÔ lvshwnd<=0
;
;   ¡¦½ñ¼°     lvshwnd=Createlstview(nMode,nPosx,nPosy,nWidth,nHeight)
;   ¡¦°ú¿ô     nMode   (int) : 0¡Á1(0)             ¥½¡¼¥È¥Ø¥Ã¥ÀÉÕ²Ã
;              nPosx   (int) : 0¡Áwinx(pos x)      °ÌÃÖ x
;              nPosy   (int) : 0¡Áwiny(pos y)      °ÌÃÖ y
;              nWidth  (int) : 0¡Áwinx(objsize x)  Éý
;              nHeight (int) : 0¡Áwiny(objsize y)  ¹â¤µ
;
;              nMode
;             ---------------------------------------
;                0  : LVS_NOSORTHEADER¤òÉղ乤ë
;                1  : LVS_NOSORTHEADER¤òÉղ䷤ʤ¤
;
;   ¡¦¥¿¥¤¥×   ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lvshwnd=Createlstview(0,0,0,600,400)
;*******************************************************************************
mref bmscr,67
	nMode  = prm1 ;: if (nMode<=0)|(nMode>1)        : nMode  =0
	nPosx  = prm2 ;: if (nPosx<=0)|(nPosx>winx)     : nPosx  =bmscr(27)
	nPosy  = prm3 ;: if (nPosy<=0)|(nPosy>winy)     : nPosy  =bmscr(28)
	nWidth = prm4 ;: if (nWidth<=0)|(nWidth>winx)   : nWidth =bmscr(29)
	nHeight= prm5 ;: if (nHeight<=0)|(nHeight>winy) : nHeight=bmscr(30)

	;CommonControl½é´ü²½
;	#undef  ICC_LISTVIEW_CLASSES
;	#define ICC_LISTVIEW_CLASSES    $00000001
;	icx(0) = 8 : icx(1) = ICC_LISTVIEW_CLASSES
;	InitCommonControlsEx varptr(icx)

	;LVS_NOSORTHEADER¤òÉÕ²Ã
	if nMode==1 : nStyle=LVS_NOSORTHEADER : else : nStyle=0
	dwStyle =WS_CHILD|WS_VISIBLE|LVS_REPORT|nStyle
	class ="SysListView32" : pClass=varptr(class)
	CreateWindowEx 0,pClass,0,dwStyle,nPosx,nPosy,nWidth,nHeight,hwnd,0,hinstance,0
	lvshwnd=stat : if lvshwnd==0 : return -1
return lvshwnd

#deffunc lsvexset int prm1,int prm2
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë³ÈÄ¥¥¹¥¿¥¤¥ë¤ÎÀßÄê (lsvexset)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvexset lvshwnd,nStyle
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nStyle  (int) : 0¡Á(0) ³ÈÄ¥¥¹¥¿¥¤¥ë (constÃͤǻØÄê)
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvexset lvshwnd,$0005
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	nStyle  = prm2 : if nStyle<=0  : nStyle=0

	; nStyle : ³ÈÄ¥¥¹¥¿¥¤¥ë (Áȹ礻¤Æ»ØÄê²Ä)
	; <<<nStyle¤ËÃͤòľÀÜ»ØÄꤹ¤ë¤³¤È>>>
	;---------------------------------------
	; LVS_EX_GRIDLINES         $0001
	; LVS_EX_SUBITEMIMAGES     $0002
	; LVS_EX_CHECKBOXES        $0004
	; LVS_EX_TRACKSELECT       $0008
	; LVS_EX_HEADERDRAGDROP    $0010
	; LVS_EX_FULLROWSELECT     $0020
	; LVS_EX_ONECLICKACTIVATE  $0040
	; LVS_EX_TWOCLICKACTIVATE  $0080
	; LVS_EX_FLATSB            $0100
	; LVS_EX_REGIONAL          $0200
	; LVS_EX_INFOTIP           $0400
	; LVS_EX_UNDERLINEHOT      $0800
	; LVS_EX_UNDERLINECOLD     $1000
	; LVS_EX_MULTIWORKAREAS    $2000

	;³ÈÄ¥¥¹¥¿¥¤¥ë¤ò¼èÆÀ (ListView_GetExtendedListViewStyle)
	SendMessage lvshwnd,LVM_GETEXTENDEDLISTVIEWSTYLE,0,0
	dwExstyle=stat : dwExstyle+=nStyle

	;³ÈÄ¥¥¹¥¿¥¤¥ë¤òÀßÄê (ListView_SetExtendedListViewStyle)
	SendMessage lvshwnd,LVM_SETEXTENDEDLISTVIEWSTYLE,0,dwExstyle
return 0

#deffunc lsvcladd int prm1,str prm2,int prm3,int prm4,int prm5,int prm6,int prm7
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Ë¥«¥é¥à¤òÄɲà (lsvcladd)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvcladd lvshwnd,String,nIndex,Image,cwidth,cfmt,Imadd
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              String  (str) : ¥«¥é¥à¥Ø¥Ã¥À¡¼Ê¸»úÎó or ʸ»úÎóÊÑ¿ô
;              nIndex  (int) : 0¡Á(0)   ¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ(º¸¤«¤é0,1,2,3,...)
;              Image   (int) : 0¡Á(0)   Äɲ乤륤¥á¡¼¥¸¥ê¥¹¥È¤ÎÈÖ¹æ(Ä̾ï¤Ï0)
;              cwidth  (int) : 0¡Á(100) ¥«¥é¥à¤ÎÉý (constÃͤòľÀÜ»ØÄê¤â²Ä)
;              cfmt    (int) : 0¡Á2(0)  ÇÛÃÖ¥Õ¥©¡¼¥Þ¥Ã¥È
;              Imadd   (int) : 0¡Á(0)   ¥¤¥á¡¼¥¸¥Õ¥é¥°(Ä̾ï¤Ï0)
;
;              cfmt
;             ---------------------
;               0  : º¸¤ËÇÛÃÖ
;               1  : ±¦¤ËÇÛÃÖ
;               2  : Ãæ±û¤ËÇÛÃÖ
;
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvcladd lvshwnd,"¥µ¥¤¥È̾",0,0,200,0,0
;   lsvcladd lvshwnd,"ºî¼Ô",1,0,100,0,0
;   lsvcladd lvshwnd,"¥¢¥É¥ì¥¹",2,0,300,0,0
;*******************************************************************************
	lvshwnd = prm1  : if lvshwnd==0 : return -1
	ls=strlen(prm2) : if ls==0 : return -1 : else : sdim String,ls+1
	String  = prm2
	nIndex  = prm3  : if nIndex<=0          : nIndex=0
	Image   = prm4  : if Image<=0           : Image=0
	cwidth  = prm5  : if cwidth<=0          : cwidth=100
	cfmt    = prm6  : if (cfmt<=0)|(cfmt>2) : cfmt=0 
	Imadd   = prm7  : if Imadd<=0           : Imadd=0

	;  cwidth
	;  ¿ôÃͤÇľÀÜ»ØÄê : 0¡Á
	;  $FFFFFFFF      : ¥¢¥¤¥Æ¥à¤Î¥µ¥¤¥º¤Ë±þ¤¸¤ÆÄ´À°
	;  $FFFFFFFE      : ¥Ø¥Ã¥À¤Îʸ»úÎó¥µ¥¤¥º¤Ë¹ç¤ï¤»¤ë

	;LVCOLUMN¹½Â¤ÂÎ
	dim tcl,7
	; $000F = LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM
	tcl(0)  = $000F|Imadd       ;mask
	tcl(1)  = cfmt|Imadd        ;fmt
	tcl(2)  = cwidth            ;cx
	tcl(3)  = varptr(String)    ;pszText
	tcl(4)  = strlen(String)    ;cchTextMax
	tcl(5)  = nIndex            ;iSubItem
	tcl(6)  = Image             ;iImage

	SendMessage lvshwnd,LVM_INSERTCOLUMN,nIndex,varptr(tcl)
	sdim String,0 : dim tcl,0
return 0

#deffunc lsvimadd int prm1,str prm2,int prm3,int prm4
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Ë¥¢¥¤¥Æ¥àÄɲà (lsvimadd)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvimadd lvshwnd,String,nIndex,Image
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              String  (str) : ¥«¥é¥à¥Ø¥Ã¥À¡¼Ê¸»úÎó or ʸ»úÎóÊÑ¿ô
;              nIndex  (int) : 0¡Á(0) ¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ(º¸¤«¤é0,1,2,3,...)
;              Image   (int) : 0¡Á(0) Äɲ乤륤¥á¡¼¥¸¥ê¥¹¥È¤ÎÈÖ¹æ(Ä̾ï¤Ï0)
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvimadd lvshwnd,"HSP-NEXT",0,0
;   lsvimadd lvshwnd,"ONION software HOMEPAGE",1,0
;   lsvimadd lvshwnd,"HSP CENTER",2,0
;*******************************************************************************
	lvshwnd   = prm1 : if lvshwnd==0 : return -1
	ls=strlen(prm2)  : if ls==0 : return -1 : else : sdim String,ls+1
	String    = prm2
	nIndex    = prm3 : if nIndex<=0  : nIndex=0
	Image     = prm4 : if Image<=0   : Image=0

	;LVITEM¹½Â¤ÂÎ
	dim tim,9
	; $0003 = LVIF_TEXT|LVIF_IMAGE
	tim(0)  = $0003               ;mask
	tim(1)  = nIndex              ;iItem
	tim(2)  = 0                   ;iSubItem
	tim(5)  = varptr(String)      ;pszText
	tim(6)  = strlen(String)      ;cchTextMax
	tim(7)  = Image               ;iImage

	;tim(3)   state
	;tim(4)   stateMask
	;tim(8)   lParam

	SendMessage lvshwnd,LVM_INSERTITEM,0,varptr(tim)
	sdim String,0 : dim tim,0
return 0

#deffunc lsvimgset int prm1,int prm2,int prm3
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Ë¥¤¥á¡¼¥¸ÀßÄê (lsvimgset)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvimgset lvshwnd,Imghwnd,Imgmode
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              Imghwnd (int) : Createimglist¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              Imgmode (int) : ¥¢¥¤¥³¥ó¥â¡¼¥É
;
;              Imgmode
;             --------------------------
;                -1  :  Èóɽ¼¨
;                 0  :  Â礭¤¤¥¢¥¤¥³¥ó
;                 1  :  ¾®¤µ¤¤¥¢¥¤¥³¥ó
;
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvimgset lvshwnd,himgwnd1,0
;   lsvimgset lvshwnd,himgwnd2,1
;*******************************************************************************
	lvshwnd   = prm1 : if lvshwnd==0 : return -1
	Imghwnd   = prm2 : if Imghwnd==0 : return -1
	Imgmode   = prm3 : if (Imgmode<-1)|(Imgmode>1) : return -1

	;¥ê¥¹¥È¥Ó¥å¡¼¤Ë¥¤¥á¡¼¥¸¥ê¥¹¥È¤òÀßÄê
	SendMessage lvshwnd,LVM_SETIMAGELIST,Imgmode,Imghwnd
return 0

#deffunc lsvsubadd int prm1,str prm2,int prm3,int prm4
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Ë¥µ¥Ö¥¢¥¤¥Æ¥àÄɲà (lsvsubadd)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvsubadd lvshwnd,String,nIndex,SubIndex
;   ¡¦°ú¿ô     lvshwnd  (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              String   (str) : ¥µ¥Ö¹àÌܤÎʸ»úÎó or ʸ»úÎóÊÑ¿ô
;              nIndex   (int) : 0¡Á(0) ¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ(º¸¤«¤é0,1,2,3,...)
;              SubIndex (int) : 1¡Á(1) ¥µ¥Ö¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvsubadd lvshwnd,"¤µ¤¯¤é",0,1
;   lsvsubadd lvshwnd,"¤ª¤Ë¤¿¤Þ",1,1
;   lsvsubadd lvshwnd,"¤¦¤¹¤¢¤¸",2,1
;
;   lsvsubadd lvshwnd,"http://www.silkroad.ne.jp/sakura",0,2
;   lsvsubadd lvshwnd,"http://www.onionsoft.net/",1,2
;   lsvsubadd lvshwnd,"http://hspcenter.com/",2,2
;*******************************************************************************
	lvshwnd   = prm1 : if lvshwnd==0 : return -1
	ls=strlen(prm2)  : if ls==0 : return -1 : else : sdim String,ls+1
	String    = prm2
	nIndex    = prm3 : if nIndex<=0   : nIndex=0
	SubIndex  = prm4 : if SubIndex<=0 : SubIndex=1

	;LVITEM¹½Â¤ÂÎ
	dim tim,9
	; $0001 = LVIF_TEXT
	tim(0)  = $0001               ;mask
	tim(1)  = nIndex              ;iItem
	tim(2)  = SubIndex            ;iSubItem
	tim(5)  = varptr(String)      ;pszText

	SendMessage lvshwnd,LVM_SETITEM,0,varptr(tim)
	sdim String,0 : dim tim,0
return 0

#deffunc lsvchengeview int prm1,int prm2
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ëɽ¼¨¥¹¥¿¥¤¥ëÊѹ¹ (lsvchengeview)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvchengeview lvshwnd,nType
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nType   (int) : 0¡Á3(0) ɽ¼¨¥¹¥¿¥¤¥ëÈÖ¹æ
;
;              nType
;             ------------------------------------------------------------
;                0  : Â礭¤¤¥¢¥¤¥³¥ó (Image List¤ËÂ礭¤¤¥¢¥¤¥³¥óÀßÄêɬÍ×)
;                1  : ¾ÜºÙɽ¼¨
;                2  : ¾®¤µ¤¤¥¢¥¤¥³¥ó
;                3  : °ìÍ÷ɽ¼¨
;
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvchengeview lvshwnd,0
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	nType   = prm2 : if (nType<=0)|(nType>3) : nType=0

	GetWindowLong lvshwnd,GWL_STYLE : dwstyle=stat
	dwstyle=dwstyle&$FFFFFFFC|nType
	SetWindowLong lvshwnd,GWL_STYLE,dwstyle
	InvalidateRect lvshwnd,0,TRUE
return 0

#deffunc lsvsetbkcol int prm1,int prm2
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤ÎÇØ·Ê¿§¤òÀßÄê (lsvsetbkcol)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvsetbkcol lvshwnd,RGB(r,g,b)
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              col     (int) : ÇØ·Ê¿§ RGB(r,g,b)·Á¼°¤Ç»ØÄê
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvsetbkcol lvshwnd,RGB(0,0,255)
;*******************************************************************************
mref bmscr,67
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	col     = prm2 : if col<0 : col=bmscr(40)
	SendMessage lvshwnd,LVM_SETBKCOLOR,0,col
	InvalidateRect lvshwnd,0,TRUE
return 0

#deffunc lsvsettxcol int prm1,int prm2,int prm3
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¤Î¹àÌܤΥƥ­¥¹¥È¿§¡¦ÇØ·Ê¿§¤òÀßÄê (lsvsettxcol)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvsettxcol lvshwnd,RGB(r,g,b),RGB(r,g,b)
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              coltext (int) : ¹àÌܤΥƥ­¥¹¥È¿§ RGB(r,g,b)·Á¼°¤Ç»ØÄê
;              colback (int) : ¹àÌܤÎÇØ·Ê¿§ RGB(r,g,b)·Á¼°¤Ç»ØÄê
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvsettxcol lvshwnd,RGB(255,255,255),RGB(0,0,255)
;*******************************************************************************
mref bmscr,67
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	coltext = prm2 : if coltext<0 : col=bmscr(40)
	colback = prm3 : if colback<0 : col=bmscr(40)
	SendMessage lvshwnd,LVM_SETTEXTCOLOR,0,coltext
	SendMessage lvshwnd,LVM_SETTEXTBKCOLOR,0,colback
	InvalidateRect lvshwnd,0,TRUE
return 0

#defcfunc lsvgetcheck int prm1,int prm2
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥Á¥¨¥Ã¥¯¹àÌܾõÂÖ¤ò¼èÆÀ (lsvgetcheck)
;
;   Ìá¤êÃÍ : ¥Á¥¨¥Ã¥¯ ON ret=1, ¥Á¥¨¥Ã¥¯OFF ret=0, ¼ºÇÔ ret=-1
;
;   ¢¨¤³¤Î´Ø¿ô¤Ï¡¢³ÈÄ¥¥¹¥¿¥¤¥ë¤Ç LVS_EX_CHECKBOXES ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë»þ¤Î¤ßÍ­¸ú
;
;   ¡¦½ñ¼°     ret=lsvgetcheck(lvshwnd,nIndex)
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nIndex  (int) : 0¡Á(0) ¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ
;   ¡¦¥¿¥¤¥×   ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   ret=lsvgetcheck(lvshwnd,2)
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	nIndex  = prm2 : if nIndex<=0  : nIndex=0

	;ListView_GetCheckState
	#undef  LVIS_STATEIMAGEMASK
	#define LVIS_STATEIMAGEMASK    $0000F000

	SendMessage lvshwnd,LVM_GETITEMSTATE,nIndex,LVIS_STATEIMAGEMASK
	ret=(stat>>12)-1
return ret

#deffunc lsvsetcheck int prm1,int prm2,int prm3
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥Á¥¨¥Ã¥¯¹àÌܤòÀßÄê (lsvsetcheck)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¢¨¤³¤ÎÌ¿Îá¤Ï¡¢³ÈÄ¥¥¹¥¿¥¤¥ë¤Ç LVS_EX_CHECKBOXES ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë»þ¤Î¤ßÍ­¸ú
;
;   ¡¦½ñ¼°     lsvsetcheck lvshwnd,nIndex,fCheck
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              Index   (int) : 0¡Á(0)  ¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ
;              fCheck  (int) : 0¡Á1(0) ¥Á¥¨¥Ã¥¯¥Õ¥é¥°
;
;              fCheck
;             -------------------------
;                1  :  ¥Á¥§¥Ã¥¯ÀßÄê
;                0  :  ¥Á¥§¥Ã¥¯²ò½ü
;
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvsetcheck lvshwnd,2,1
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	nIndex  = prm2 : if nIndex<=0  : nIndex=0
	fCheck  = prm3 : if (fCheck<=0)|(fCheck>1) : fCheck=0

	;ListView_SetCheckState
	#undef  LVIS_STATEIMAGEMASK
	#define LVIS_STATEIMAGEMASK    $0000F000

	;LVITEM¹½Â¤ÂÎ
	dim tim,9
	tim(3) = (fCheck+1)<<12 
	tim(4) = LVIS_STATEIMAGEMASK
	SendMessage lvshwnd,LVM_SETITEMSTATE,nIndex,varptr(tim)
	dim tim,0
return 0

#deffunc lsvcldel int prm1,int prm2
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥«¥é¥à¤ò¾Ãµî (lsvcldel)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvcldel lvshwnd,nIndex
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nIndex  (int) : 0¡Á(0) ¥«¥é¥à¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvcldel lvshwnd,1
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	nIndex  = prm2 : if nIndex<=0  : nIndex=0
	SendMessage lvshwnd,LVM_DELETECOLUMN,nIndex,0
return 0

#defcfunc lsvcount int prm1,int prm2
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥¢¥¤¥Æ¥à¤Î¿ô¤ò¼èÆÀ (lsvcount)
;
;   Ìá¤êÃÍ : ¹àÌÜ¿ô ret=count, ¼ºÇÔ ret=-1
;
;   ¡¦½ñ¼°     ret=lsvcount(lvshwnd,nflag)
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nflag   (int) :  0¡Á1(0) ¼èÆÀ¥Õ¥é¥°
;
;              nflag
;             ------------------------------------------
;                0  :  LVM_GETITEMCOUNT
;                1  :  LVM_GETCOUNTPERPAGE
;
;   ¡¦¥¿¥¤¥×   ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   mes "¥¢¥¤¥Æ¥à¤Î¿ô : "+lsvcount(lvshwnd,0)
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	nflag   = prm2 : if (nflag<=0)|(nflag>1) : nflag=0

	if nflag==0 : nMsg=LVM_GETITEMCOUNT
	if nflag==1 : nMsg=LVM_GETCOUNTPERPAGE
	SendMessage lvshwnd,nMsg,0,0
return stat

#defcfunc lsvfound int prm1,int prm2
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤ÎÁªÂò¥¢¥¤¥Æ¥à¼èÆÀ (lsvfound)
;
;   Ìá¤êÃÍ : ÁªÂò¹àÌÜ ret=ÁªÂò¹àÌÜIndex, ¼ºÇÔ ret=-1
;
;   ¡¦½ñ¼°     ret=lsvfound(lvshwnd,nIndex)
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nIndex  (int) : -1¡Á(-1) ¹àÌÜ¥¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ
;   ¡¦¥¿¥¤¥×   ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   SelItem=lsvfound(lvshwnd,2)
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	nIndex  = prm2 : if nIndex<=-1  : nIndex=-1
	SendMessage lvshwnd,LVM_GETNEXTITEM,nIndex,$2
return stat

#deffunc lsvimdel int prm1,int prm2
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¹àÌܤò¾Ãµî (lsvimdel)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvimdel lvshwnd,nIndex
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nIndex  (int) : -1 or -1°Ê³°  Áàºî¥â¡¼¥É
;
;              nIndex
;             ---------------------------
;               -1     :  Á´¹àÌܤξõî
;               -1°Ê³° :  »ØÄêIndex¹àÌÜ
;
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvimdel lvshwnd,1
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	nIndex  = prm2

	if nIndex==-1 {
		SendMessage lvshwnd,LVM_DELETEALLITEMS,-1,0
	}else{
		SendMessage lvshwnd,LVM_DELETEITEM,nIndex,0
	}
return 0

#deffunc lsvgetstr var prm1,int prm2,int prm3,int prm4
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¹àÌܤÎʸ»úÎó¤ò¼èÆÀ (lsvgetstr)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1, Value=¼èÆÀʸ»úÎó
;
;   ¡¦½ñ¼°     lsvgetstr Value,lvshwnd,nIndex,SubIndex
;   ¡¦°ú¿ô     Value    (var) : ʸ»úÎó·¿ÊÑ¿ô
;              lvshwnd  (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nIndex   (int) : 0¡Á(0) ¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ(º¸¤«¤é0,1,2,3,...)
;              SubIndex (int) : 0¡Á(0) ¥µ¥Ö¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvgetstr s,lvshwnd,0,1
;*******************************************************************************
	if vartype(prm1)!2 : prm1 = ""
	lvshwnd = prm2 : if lvshwnd==0 : return -1
	nIndex  = prm3 : if nIndex<=0  : nIndex=0
	suIndex = prm4 : if suIndex<=0 : suIndex=0

	sdim String,512

	#undef  LVIF_TEXT
	#define LVIF_TEXT    $00000001

	;LVITEM¹½Â¤ÂÎ
	dim tim,9
	tim(0)  = LVIF_TEXT           ;mask
	tim(1)  = nIndex              ;iItem
	tim(2)  = suIndex             ;iSubItem
	tim(5)  = varptr(String)      ;pszText
	tim(6)  = 512                 ;cchTextMax

	SendMessage lvshwnd,LVM_GETITEM,0,varptr(tim)
	prm1=String : sdim String,0
return 0

#deffunc lsvsetstr int prm1,str prm2,int prm3,int prm4
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¹àÌܤÎʸ»úÎó¤òÀßÄê (lsvsetstr)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvsetstr lvshwnd,String,nIndex,SubIndex
;   ¡¦°ú¿ô     lvshwnd  (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              String   (str) : ʸ»úÎó or ʸ»úÎó·¿ÊÑ¿ô
;              nIndex   (int) : 0¡Á(0) ¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ(º¸¤«¤é0,1,2,3,...)
;              SubIndex (int) : 0¡Á(0) ¥µ¥Ö¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvsetstr lvshwnd,"sample",2,1
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	ls=strlen(prm2): if ls==-1 : return -1 : else : sdim String,ls+1
	String  = prm2
	nIndex  = prm3 : if nIndex<=0  : nIndex=0
	suIndex = prm4 : if suIndex<=0 : suIndex=1

	#undef  LVIF_TEXT
	#define LVIF_TEXT    $00000001

	;LVITEM¹½Â¤ÂÎ
	dim tim,9
	tim(0)  = LVIF_TEXT           ;mask
	tim(1)  = nIndex              ;iItem
	tim(2)  = suIndex             ;iSubItem
	tim(5)  = varptr(String)      ;pszText
	tim(6)  = ls                  ;cchTextMax

	SendMessage lvshwnd,LVM_SETITEM,0,varptr(tim)
	sdim String,0
return 0

#deffunc lsvimsel int prm1,int prm2,int prm3
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¹àÌܤòÁªÂò (lsvimsel)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvimsel lvshwnd,nIndex,nflag
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nIndex  (int) : 0¡Á(0) ¹àÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ(º¸¤«¤é0,1,2,3,...)
;              nflag   (int) : -1¡Á(3)61440 (Ä̾ï¤Ï3¤ò»ØÄꤹ¤ë)
;
;              nflag
;             ---------------------------------------------------------
;                -1                         0
;                 0                         LVIS_FOCUSED|LVIS_SELECTED
;                 LVIS_FOCUSED              1
;                 LVIS_SELECTED             2
;                 LVIS_CUT                  4
;                 LVIS_DROPHILITED          8
;                 LVIS_OVERLAYMASK       3840
;                 LVIS_STATEIMAGEMASK   61440
;
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvimsel lvshwnd,2,3
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0 : return -1
	nIndex  = prm2 : if nIndex<=0  : nIndex=0
	nflag   = prm3 : if nflag<0    : nflag=3

	if nflag=-1 : nflag=0
	if nflag==0 : nflag=3

	#undef  LVIF_STATE
	#define LVIF_STATE    $00000008

	;LVITEM¹½Â¤ÂÎ
	dim tim,9
	tim(0)  = LVIF_STATE          ;mask
	tim(1)  = nIndex              ;iItem
	tim(2)  = 0                   ;iSubItem
	tim(3)  = nflag               ;state
	tim(4)  = $ffffffff           ;stateMask

	SendMessage lvshwnd,LVM_SETITEMA,0,varptr(tim)
	SetFocus lvshwnd
return 0

#deffunc lsvcolumorder int prm1,array prm2,int prm3
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥«¥é¥à¤Îʤӽç¤òÀßÄê (lsvcolumorder)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¢¨¤³¤ÎÌ¿Îá¤Ï¡¢³ÈÄ¥¥¹¥¿¥¤¥ë¤Ç LVS_EX_HEADERDRAGDROP ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë»þ¤Î¤ßÍ­¸ú
;
;   ¡¦½ñ¼°     lsvcolumorder lvshwnd,Columarray,Columnum
;   ¡¦°ú¿ô     lvshwnd    (int)   : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              Columarray (array) : ÀßÄꤹ¤ë¥«¥é¥à½ç½ø¤òÇÛÎó¤Î·Á¼°¤Ç»ØÄê
;                                   Îã : Columarray=3,2,0,1
;              Columnum   (int)   : ¥«¥é¥à¤Î¿ô
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   Columarray=3,2,0,1
;   lsvcolumorder lvshwnd,Columarray,4
;*******************************************************************************
	lvshwnd  = prm1 : if lvshwnd==0  : return -1
	Columnum = prm3 : if Columnum<=0 : Columnum=0
	OrderArray = prm2
	SendMessage lvshwnd,LVM_SETCOLUMNORDERARRAY,Columnum,varptr(OrderArray)
return 0

#deffunc lsvgetclmwidth int prm1,int prm2
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥«¥é¥à¤ÎÉý¤ò¼èÆÀ (lsvgetclmwidth)
;
;   Ìá¤êÃÍ : ¥«¥é¥àÉý stat=ColomuWidth, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvgetclmwidth lvshwnd,nColomu
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nColomu (int) : 0¡Á(0)  ¥«¥é¥àÉý¤ò¼èÆÀ¤¹¤ë¥«¥é¥àÈÖ¹æ
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvgetclmwidth lvshwnd,2 : ColomuWidth=stat : mes ColomuWidth
;*******************************************************************************
	lvshwnd  = prm1 : if lvshwnd==0  : return -1
	nColomu  = prm2 : if nColomu<=0  : nColomu=0
	SendMessage lvshwnd,LVM_GETCOLUMNWIDTH,nColomu,0
return stat

#deffunc lsvsetclmwidth int prm1,int prm2,int prm3
;*******************************************************************************
;   ¥ê¥¹¥È¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥ë¤Î¥«¥é¥à¤ÎÉý¤òÀßÄê (lsvsetclmwidth)
;
;   Ìá¤êÃÍ : À®¸ù stat=0, ¼ºÇÔ stat=-1
;
;   ¡¦½ñ¼°     lsvsetclmwidth lvshwnd,nColomu,nColwid
;   ¡¦°ú¿ô     lvshwnd (int) : Createlstview¤ÇºîÀ®¤·¤¿¥Ï¥ó¥É¥ë
;              nColomu (int) : 0¡Á(0)   ¥«¥é¥àÉý¤òÀßÄꤹ¤ë¥«¥é¥àÈÖ¹æ
;              nColwid (int) : 0¡Á(100) ¥«¥é¥à¤ÎÉý(constÃͤòľÀÜ»ØÄê¤â²Ä)
;   ¡¦¥¿¥¤¥×   ¥â¥¸¥å¡¼¥ëÌ¿Îá
;
;-- (NOTE) ---------------------------------------------------------------------
;
;   (»ÈÍÑÎã)
;   lsvsetclmwidth lvshwnd,2,70
;*******************************************************************************
	lvshwnd = prm1 : if lvshwnd==0  : return -1
	nColomu = prm2 : if nColomu<=0  : nColomu=0
	lvAUTOSIZE=0
	nColwid = prm3 : if nColwid<0  : nColwid=-nColwid :lvAUTOSIZE=1

	;nColwid¤ËľÀÜ¡¢²¼µ­¤ÎÃͤòÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£
	;#define LVSCW_AUTOSIZE             $FFFFFFFF  ¥¢¥¤¥Æ¥à¤Î¥µ¥¤¥º¤Ë±þ¤¸¤ÆÄ´À°
	;#define LVSCW_AUTOSIZE_USEHEADER   $FFFFFFFE  ¥Ø¥Ã¥À¤Îʸ»úÎó¥µ¥¤¥º¤Ë¹ç¤ï¤»¤ë

	if lvAUTOSIZE=1 {
		SendMessage lvshwnd,LVM_SETCOLUMNWIDTH,nColomu,$FFFFFFFF
		SendMessage lvshwnd,LVM_GETCOLUMNWIDTH,nColomu,0
		if nColwid < stat :return 0
	}
	SendMessage lvshwnd,LVM_SETCOLUMNWIDTH,nColomu,nColwid

	
return 0
#undef  ICC_LISTVIEW_CLASSES
#undef  LVIS_STATEIMAGEMASK
#undef  LVIF_STATE
#undef  LVIF_TEXT
#global
#endif
#endif

;--------------------------------------------------------------- (EOF) ---------



¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2017-05-14 (Æü) 16:43:24