HSP¥Ý¡¼¥¿¥ë
¥µ¥¤¥È¥Þ¥Ã¥× ¤ªÌ䤤¹ç¤ï¤»


HSPTV!·Ç¼¨ÈÄ


̤²ò·è ²ò·è Ää»ß ºï½üÍ×ÀÁ

2015
0101
a¥ê¥¹¥È¥Ó¥å¡¼ÊÔ½¸¤Ç¡¢¥µ¥Ö¥¢¥¤¥Æ¥à¤ÎÊÔ½¸¤â²Äǽ¤Ë¤¹¤ë¤Ë¤Ï16²ò·è


a

¥ê¥ó¥¯

2015/1/1(Thu) 19:20:21|NO.66783

ÌÀ¤±¤Þ¤·¤Æ¤ª¤á¤Ç¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¿·Ç¯Á᡹¤Ç¤¹¤¬¡¢ÁᮼÁÌ䤵¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹¡£

http://hsp.tv/play/pforum.php?mode=all&num=66743
¤³¤Î´Ö¼ÁÌ䤷¤¿¡ÖÊÔ½¸²Äǽ¤Ê¥ê¥¹¥È¥Ó¥å¡¼¡×¤Ë³¤¤¤Æ¼ÁÌä¤Ç¤¹¡£
http://ameblo.jp/blueskyame/entry-10327905021.html
¤³¤Î¤è¤¦¤Ë¡¢¥µ¥Ö¥¢¥¤¥Æ¥à¤âÊÔ½¸¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡¢¤¦¤Þ¤¯¤Ç¤­¤Þ¤»¤ó¡£
¤É¤¦¤·¤¿¤é¥µ¥Ö¥¢¥¤¥Æ¥à¤âÊÔ½¸²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¤«¡©



¤³¤Îµ­»ö¤ËÊÖ¿®¤¹¤ë


cats

¥ê¥ó¥¯

2015/1/1(Thu) 19:27:26|NO.66784

¥ê¥ó¥¯Àè¤Î¥µ¥¤¥È¤¬»²¹Í¤Ë¤·¤Æ¤¤¤ë¥ê¥ó¥¯
http://www.codeguru.com/cpp/controls/listview/editingitemsandsubitem/article.php/c1077/Editing-listview-subitems-using-LVMGETEDITCONTROL.htm
¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¥µ¥Ö¥¢¥¤¥Æ¥à¤¬ÁªÂò¤µ¤ì¤¿¤é¥á¥Ã¥»¡¼¥¸¥Ü¥Ã¥¯¥¹¤òɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
°ÊÁ°¤Îa¤µ¤ó¤Î¼ÁÌä¤Î¤È¤­¤Ë¤¤¤í¤¤¤íÄ´¤Ù¤Æ¤ß¤¿¤Î¤Ç¤¹¤¬¡¢¥Þ¥¦¥¹°ÌÃ֤ˤ¢¤ë¥¢¥¤¥Æ¥àID¤¬Ê¬¤«¤ì¤Ð
¤¢¤ëÄøÅ٤ϼ¸½²Äǽ¤Ç¤¹¡£



a

¥ê¥ó¥¯

2015/1/1(Thu) 21:36:45|NO.66792

cats¤µ¤ó¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¤³¤ì¤Ï»ä¤ÎͽÁۤʤΤǤ¹¤¬¡¢¡¢¡¢
Íó¤¬ÁªÂò¤µ¤ì¤¿¤é¡¢inputÌ¿ÎáÅù¤Ç°ì»þŪ¤ËÆþÎϥܥ寥¹¤ò¥ê¥¹¥È¥Ó¥å¡¼¤ÎÍó¤Î¾å¤ËºîÀ®¡¢
¥Õ¥©¡¼¥«¥¹¤¬³°¤ì¤¿¤éÆþÎϥܥ寥¹¤òºï½ü¡¢¤È¤¤¤¦»ÅÁȤߤʤΤǤ·¤ç¤¦¤«¡©
±Ñ¸ì¤¬¶ì¼ê¤Ê¼Ô¤Ç¡¢cats¤µ¤ó¤ËÍê¤Ã¤Æ¤Ð¤«¤ê¤Ç¿½¤·Ìõ¤Ê¤¤¤Ç¤¹¡£



a

¥ê¥ó¥¯

2015/1/1(Thu) 21:56:25|NO.66793


mod=0 onclick gosub *click onkey gosub *key pos 0,0 :mes "¤³¤Î²èÌ̤ò¥¯¥ê¥Ã¥¯¤·¤Æ¡¢¥Æ¥­¥¹¥È¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£" stop //----¥¯¥ê¥Ã¥¯¤Î¾ì *click if mod=0{ mod=1 sdim moz posx=mousex posy=mousey pos posx,posy :input moz,120,20 :ID_ipt=stat objsel ID_ipt return } if mod=1{ if mousex<posx | mousey<posy | mousex>posx+120 | mousey>posy+20{ ;°ã¤¦¾ì½ê¤¬ÁªÂò¤µ¤ì¤¿¤é pos posx,posy :mes moz clrobj ID_ipt,ID_ipt mod=0 return } } return //----¥­¡¼¤Î¾ì¹ç *key if mod=0{ mod=1 sdim moz posx=mousex posy=mousey pos posx,posy :input moz,120,20 :ID_ipt=stat objsel ID_ipt return } if mod=1{ if wparam=13{ pos posx,posy :mes moz clrobj ID_ipt,ID_ipt mod=0 return } } return
»ä¤¬»×¤Ã¤Æ¤¤¤ë¥¤¥á¡¼¥¸¤Ï¤³¤ó¤Ê´¶¤¸¤Ç¤¹¡£



cats

¥ê¥ó¥¯

2015/1/1(Thu) 22:15:26|NO.66795

¤Ï¤¤¡¢¥ê¥¹¥È¥Ó¥å¡¼¤Î¾å¤Ë¥¤¥ó¥×¥Ã¥È¥Ü¥Ã¥¯¥¹¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£
¤¿¤À¤·¡¢¥¢¥¤¥Æ¥à¤Î°ÌÃÖ¡¢¥«¥é¥à¤ÎÉý¤ä¥Õ¥©¥ó¥È¥µ¥¤¥º¤Ê¤É¤Ë¹ç¤ï¤»¤ÆÆþÎϥܥ寥¹¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¥«¥é¥à¤ÎÉý¤È¹Ô¤Î¥µ¥¤¥º¤ÏSendMessage¤Ç¼èÆÀ¤Ç¤­¤Þ¤¹¡£
¤¿¤À¡¢¥Þ¥¦¥¹¥«¡¼¥½¥ë¾å¤Ë¤¢¤ë¥¢¥¤¥Æ¥à¤ò¼èÆÀ¤Ç¤­¤ë¤«¤È¤¤¤¦ÌäÂ꤬¤¢¤ê¤Þ¤¹¡£
GetWindowRectÅù¤Ç·×»»¤¹¤ë¤Î¤â¹Í¤¨¤Þ¤·¤¿¤¬¡¢¥ê¥¹¥È¥Ó¥å¡¼¤Ê¤Î¤Ç¾å²¼º¸±¦¤Ë¥¹¥¯¥í¡¼¥ë¤¹¤ë²ÄǽÀ­¤â¤¢¤ê¤Þ¤¹¡£
¥ê¥ó¥¯À褬C++¤È´·¤ì¤Ê¤¤¸À¸ì¤Ê¤Î¤ÇÆɤà¤Î¤Ë»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£
¥¤¥á¡¼¥¸¤È¤·¤Æ¤Ï a ¤µ¤ó¤Î¹Í¤¨¤Æ¤¤¤ë¤â¤Î¤Ç¹ç¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢ÌäÂê¤Ï¤½¤ì¤ò¤É¤¦¼ÂÁõ¤¹¤ë¤«¤Ç¤¹¤Í¡£



a

¥ê¥ó¥¯

2015/1/2(Fri) 09:29:07|NO.66798

¾¯¤·¤Ð¤«¤ê·ë²ÌÊó¹ð¤Ç¤¹¡£
¸½ºß¡¢¥Þ¥¦¥¹²¼¤Ë¤¢¤ë¥¢¥¤¥Æ¥à¤Ï¼èÆÀ¤Ç¤­¤Æ¤¤¤Þ¤»¤ó¤¬¡¢
¥ê¥¹¥È¥Ó¥å¡¼¤Î¾å¤ÎÍó¤ÎÉôʬ¤À¤±¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤òÇÛÃ֤Ǥ­¤Þ¤·¤¿¡£

#include "gdi32.as" #include "llmod3/llmod3.hsp" #include "llmod3/listview.hsp" #include "llmod3/img.hsp" //----¥Þ¥¯¥í #const WM_NOTIFY 0x004E ;¥á¥Ã¥»¡¼¥¸ÍÑ #const LVS_EDITLABELS 0x0200 ;ÊÔ½¸¤ò²Äǽ¤Ë¤¹¤ë(ÃͤòÄ´¤Ù¤ë¤Î¤Ë¤«¤Ê¤ê¶ìÏ«¤·¤¿¡£) #const LVN_BEGINLABELEDIT $FFFFFF97 ;¥á¥Ã¥»¡¼¥¸ÍÑ //---- #uselib "user32.dll" #func CreateWindowExA "CreateWindowExA" int, sptr, sptr, int, int, int, int, int, int, int, int, int #cfunc CreateWindowExW "CreateWindowExW" int, wptr, wptr, int, int, int, int, int, int, int, int, int #const LVM_GETHEADER $0000101F #const HDM_GETITEMCOUNT $00001200 //----¥ê¥¹¥È¥Ó¥å¡¼¤ÎÉý¤òÊѹ¹¤¹¤ë¤¿¤á¤Î¤â¤Î #const HDN_FIRST -300 #const HDN_DIVIDERDBLCLICKW -300 ;¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¼èÆÀ #const HDN_ITEMCLICK -302 #const HDN_DIVIDERDBLCLICK -305 #const HDN_BEGINTRACK -306 #const HDN_ENDTRACK -307 #const HDN_TRACK -308 #const HDN_GETDISPINFO -309 #const HDN_BEGINDRAG -310 #const HDN_ENDDRAG -311 oncmd gosub *NOTIFY,WM_NOTIFY ;³ä¤ê¹þ¤ß //----¥ê¥¹¥È¥Ó¥å¡¼ºîÀ® pos 100,100 listview 400,200,$310009 | LVS_EDITLABELS id=stat :hwd=objinfo_hwnd(id) listaddcl 0,"test1",100,2 listaddcl 1,"test2",100 listaddcl 2,"test3",100 repeat 5 listadd 0,"¤¢¤¤¤¦¤¨¤ª",0 listadd 1,"¤«¤­¤¯¤±¤³",0 listadd 0,"¤µ¤·¤¹¤»¤½",1 listadd 1,"¤¿¤Á¤Ä¤Æ¤È",1 listadd 0,"¤Ê¤Ë¤Ì¤Í¤Î",2 listadd 1,"¤Ï¤Ò¤Õ¤Ø¤Û",2 loop //----¥¤¥ó¥×¥Ã¥È¥Ü¥Ã¥¯¥¹¡© sendmsg hwd,LVM_GETHEADER,0,0 _hwnd=stat CreateWindowExA 1,"Edit","¥³¥á¥ó¥È",$50000000,300,0,60,22,_hwnd hwd2=stat GetStockObject 17 sendmsg hwd2, $30, stat stop //----WM_NOTIFY¥á¥Ã¥»¡¼¥¸ *NOTIFY dupptr nmhdr,lparam,12 ; NMHDR ¹½Â¤ÂΤγä¤êÅö¤Æ ;if nmhdr.0!=hwd :return //----ÊÔŬÍÑ if nmhdr.2=-106{ dupptr a,lparam,64 sendmsg hwd,0x1006/*LVM_SETITEMA*/,0,varptr(a)+12 } //----ÊÔ½¸³«»Ï»þ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë if LVN_BEGINLABELEDIT=nmhdr.2 { dupptr nmhdr,lparam,64 } //----Éý¤ÎÊѹ¹¤ò̵¸ú²½ switch nmhdr.2 case HDN_BEGINTRACK case HDN_TRACK case HDN_ITEMCLICK case HDN_DIVIDERDBLCLICKW ;dupptr nmhdr,lparam,20 ;¹½Â¤Âγä¤êÅö¤Æ¡¡nmhdr.3=ÁªÂò¤µ¤ì¤Æ¤¤¤ë¥«¥é¥àNo return -1 ;̵»ë¤¹¤ë swbreak swend return 0
¹¹¤Ë±þÍѤ·¤Æ¡¢¥ê¥¹¥È¤ÎÉôʬ¤Ë¤â¥¤¥ó¥×¥Ã¥È¥Ü¥Ã¥¯¥¹¤òÇÛÃÖ¡£¤ß¤¿¤¤¤Ê»ö¤¬½ÐÍ褽¤¦¤Ê´¶¤¸¤¬¤·¤Þ¤¹¡£
¤·¤«¤·¤¤¤¯¤é¥ª¥Ö¥¸¥§¥¯¥È¤òÇÛÃ֤Ǥ­¤¿¤È¤·¤Æ¤â¡¢ÁªÂò¤µ¤ì¤Æ¤¤¤ë¹àÌܤ¬¸«¤Ä¤«¤é¤Ê¤±¤ì¤Ð°Ọ̵̃¤¤¤Ç¤¹¤Í¡£
¤â¤¦¾¯¤·ÊÙ¶¯¤·¤Æ¤ß¤Þ¤¹¡£



MIZUSHIKI

¥ê¥ó¥¯

2015/1/2(Fri) 21:22:58|NO.66814

¥Þ¥¦¥¹²¼¤Ë¤¢¤ë¥»¥ë¡Ê¥¢¥¤¥Æ¥à¡Ë¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢sendmsg ¤Ç¥ê¥¹¥È¥Ó¥å¡¼¤Ë LVM_SUBITEMHITTEST ¤òÁ÷¤Ã¤Æ¤¢¤²¤ì¤ÐÎɤ¤¤½¤¦¤Ç¤¹¡£
»ØÄꤷ¤¿ºÂɸ¤¬¥ê¥¹¥È¥Ó¥å¡¼¤Î¤É¤Î¥»¥ëÆâ¤Ë¤¤¤ë¤«¤¬µ¢¤Ã¤Æ¤­¤Þ¤¹¡£

»²¹Í¤Ë¤·¤¿¥Ú¡¼¥¸
http://wtpage.info/program/section012.html

°Ê²¼¤Ï¡¢¥ê¥¹¥È¥Ó¥å¡¼¤¬¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤µ¤ì¤¿¤È¤­¡¢¤É¤Î¥»¥ë¤¬ÁªÂò¤µ¤ì¤¿¤«¤ò¼èÆÀ¤¹¤ë¥µ¥ó¥×¥ë¤Ç¤¹¡£
¡ÊÁ°¤Î¼ÁÌä¤Î¡ÖÊÔ½¸²Äǽ¤Ê¥ê¥¹¥È¥Ó¥å¡¼¡×¤«¤é¥¹¥¯¥ê¥×¥È¤ò°úÍѤµ¤»¤Æ夭¤Þ¤·¤¿¡£¡Ë


#include "llmod3/llmod3.hsp" #include "llmod3/listview.hsp" #include "llmod3/img.hsp" // Äɲà #uselib "user32.dll" #func global GetCursorPos "GetCursorPos" sptr #func global ScreenToClient "ScreenToClient" sptr,sptr //----¥Þ¥¯¥í #const WM_NOTIFY 0x004E ;¥á¥Ã¥»¡¼¥¸ÍÑ #const LVS_EDITLABELS 0x0200 ;ÊÔ½¸¤ò²Äǽ¤Ë¤¹¤ë(ÃͤòÄ´¤Ù¤ë¤Î¤Ë¤«¤Ê¤ê¶ìÏ«¤·¤¿¡£) oncmd gosub *NOTIFY,WM_NOTIFY ;³ä¤ê¹þ¤ß // Äɲà #define ListView_SubItemHitTest(%1,%2) sendmsg %1,0x1039/*LVM_SUBITEMHITTEST*/,0,varptr(%2) //----¥ê¥¹¥È¥Ó¥å¡¼ºîÀ® listview 400,200,$110009 | LVS_EDITLABELS id=stat :hwd=objinfo_hwnd(id) listaddcl 0,"test1",100,2 listaddcl 1,"test2",100 listaddcl 2,"test3",500 // Êѹ¹ listadd 0,"¤¢¤¤¤¦¤¨¤ª",0 listadd 1,"¤«¤­¤¯¤±¤³",0 listadd 0,"¤µ¤·¤¹¤»¤½",1 listadd 1,"¤¿¤Á¤Ä¤Æ¤È",1 listadd 0,"¤Ê¤Ë¤Ì¤Í¤Î",2 listadd 1,"¤Ï¤Ò¤Õ¤Ø¤Û",2 // Äɲà mes "¥»¥ë¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¡ª" stop //----WM_NOTIFY¥á¥Ã¥»¡¼¥¸ *NOTIFY dupptr nmhdr,lparam,12 ; NMHDR ¹½Â¤ÂΤγä¤êÅö¤Æ if nmhdr.0!=hwd :return if nmhdr.2=-106{ dupptr a,lparam,64 sendmsg hwd,0x1006/*LVM_SETITEMA*/,0,varptr(a)+12 dialog a } // Äɲà if nmhdr.2=-3/*NM_DBLCLK*/ { dim pt,2 GetCursorPos varptr(pt) // ¢« ¥«¡¼¥½¥ë¤Î°ÌÃÖ¤ò¼èÆÀ gcp=pt(0),pt(1) ScreenToClient hwd, varptr(pt) // ¢« ¥«¡¼¥½¥ë°ÌÃÖ¤ò¥ê¥¹¥È¥Ó¥å¡¼¤ÎºÂɸ°ÌÃÖ¤ËÊÑ´¹ stc=pt(0),pt(1) dim lvHitInfo,6 lvHitInfo(0)=pt(0),pt(1) ListView_SubItemHitTest hwd, lvHitInfo // ¢« ¥ê¥¹¥È¥Ó¥å¡¼¤ÎºÂɸ°ÌÃÖ¤¬¡¢¤É¤Î¥»¥ëÆâ¤Î¤â¤Î¤«¤ò¼èÆÀ¡Ê¥Þ¥¯¥í¡Ë dialog strf("GetCursorPos(%d,%d), ScreenToClient(%d,%d)\n\n¡¡¢ª ListViewCell(%d,%d)", gcp(0), gcp(1), stc(0), stc(1), lvHitInfo(3), lvHitInfo(4) ) } return 0
»î¤·¤Æ¤ß¤¿¸Â¤ê¤Ç¤¹¤È¡¢¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬¤¢¤ë¾ì¹ç¤Ï¥¹¥¯¥í¡¼¥ëÎ̤ò²ÃÌ£¤·¤Æ¤É¤Î¥»¥ëÆâ¤Ë¤¤¤ë¤«¤òÊÖ¤·¤Æ¤¯¤ì¤ë¤ß¤¿¤¤¤Ç¤¹¡£



cats

¥ê¥ó¥¯

2015/1/2(Fri) 21:35:33|NO.66815

>MIZUSHIKI ¤µ¤ó
¥¹¥ì¼ç¤Ç¤Ï¤Ê¤¤¤Ç¤¹¤¬¡¢¤³¤ó¤ÊÄê¿ô¤¬¤¢¤Ã¤¿¤È¤Ï¶Ã¤­¤Þ¤·¤¿¡£
¤³¤ì¤ò»È¤¨¤ÐÈæ³ÓŪ´Êñ¤Ëºî¤ì¤Þ¤¹¤Í¡£



a

¥ê¥ó¥¯

2015/1/3(Sat) 20:34:48|NO.66845

>>MIZUSHIKI¤µ¤ó
¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡ª
»ä¤âcats¤µ¤ó¤ÈƱ¤¸¤¯¡¢ListView_SubItemHitTest¤ò»È¤Ã¤Æ´Êñ¤Ë½ÐÍè¤ë¤³¤È¤Ë¶Ã¤­¤Þ¤·¤¿¡£
¤¢¤È¤Ï¥ê¥¹¥ÈÆâ¤ËÆþÎϥܥ寥¹¤òÀßÃÖ¤¹¤ë»ö¤¬ÌäÂê¤Ë¤Ê¤Ã¤Æ¤­¤Þ¤¹¤Í¡£
¤¢¤È¡¢¥ê¥¹¥È¥Ó¥å¡¼¤Î¥¹¥¿¥¤¥ë¤ÎLVS_EDITLABELS¤ò¾Ã¤·¤Æ¤·¤Þ¤¦¤È¡¢ÊÔ½¸¤¬³«»Ï¤µ¤ì¤¿ÄÌÃΡÖLVN_BEGINLABELEDIT¡×¤¬
¼èÆÀ¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÇºîÀ®¤µ¤ì¤ëÆþÎϥܥ寥¹¤òºï½ü¤¹¤ë»ö¤âÌäÂê¤Ç¤¹¤Í¡£
½ÐÍ褽¤¦¤Êµ¤¤¬¤·¤Þ¤¹¤¬¡¢¾¯¤·Ä´¤Ù¤Æ¤ß¤Þ¤¹¡£



fortunehill

¥ê¥ó¥¯

2015/1/4(Sun) 00:36:58|NO.66850

/*²£Áä¡Êɽ·×»»¥½¥Õ¥È¤Î¤è¤¦¤Ê¥»¥ë¤Îɽ¼¨ÊýË¡¡©¡Ë
ttp://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200610/06100013.txt
ÍÑÅӤˤè¤Ã¤Æ¤ÏÎɤ¤¤«¤âÃΤì¤Þ¤»¤ó¡£*/



a

¥ê¥ó¥¯

2015/1/4(Sun) 13:23:54|NO.66860

>>fortunehill¤µ¤ó
¼«Ê¬¤ÇÁ´Éôºî¤Ã¤Á¤ã¤¦¤ß¤¿¤¤¤Ê´¶¤¸¤Ç¤¹¤Í¡£
¤â¤·¡¢¥ê¥¹¥È¥Ó¥å¡¼¤ò¼«ºî¤¹¤ë¤È¤·¤Æ¡¢Yoshi¤µ¤ó¤â¶Ä¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥Þ¥¹Ìܤνê¤Ï¤É¤¦¤ä¤Ã¤Æºî¤Ã¤Æ¤¤¤ë¤ó¤Ç¤·¤ç¤¦¤«¤Í¡£



a

¥ê¥ó¥¯

2015/1/4(Sun) 13:36:57|NO.66861

¥ê¥¹¥È¥Ó¥å¡¼¤Î¥µ¥Ö¥¢¥¤¥Æ¥à¤ÎÊÔ½¸¤Ç¤¹¤¬¡¢¤â¤¦¾¯¤·¹Í¤¨¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£

#include "llmod3/llmod3.hsp" #include "llmod3/listview.hsp" #include "llmod3/img.hsp" #uselib "user32.dll" #func global GetCursorPos "GetCursorPos" sptr #func global ScreenToClient "ScreenToClient" sptr,sptr #func CreateWindowExA "CreateWindowExA" int, sptr, sptr, int, int, int, int, int, int, int, int, int #cfunc CreateWindowExW "CreateWindowExW" int, wptr, wptr, int, int, int, int, int, int, int, int, int #func GetWindowText "GetWindowTextA" int,int,int #func MoveWindow "MoveWindow" int,int,int,int,int,int ;°ÌÃÖ¤ÎÊѹ¹ #uselib "gdi32.dll" #func DeleteObject "DeleteObject" int ;¥ª¥Ö¥¸¥§¥¯¥Èºï½ü #func GetStockObject "GetStockObject" int ;¥ª¥Ö¥¸¥§¥¯¥Èºï½ü //----¥Þ¥¯¥í #const WM_NOTIFY 0x004E ;¥á¥Ã¥»¡¼¥¸ÍÑ #const LVS_EDITLABELS 0x0200 ;ÊÔ½¸¤ò²Äǽ¤Ë¤¹¤ë(ÃͤòÄ´¤Ù¤ë¤Î¤Ë¤«¤Ê¤ê¶ìÏ«¤·¤¿¡£) oncmd gosub *NOTIFY,WM_NOTIFY ;³ä¤ê¹þ¤ß #define ListView_SubItemHitTest(%1,%2) sendmsg %1,0x1039/*LVM_SUBITEMHITTEST*/,0,varptr(%2) #const LVN_BEGINLABELEDIT $FFFFFF97 ;ÊÔ½¸¤¬³«»Ï¤µ¤ì¤¿ ;Äɲà #const LVM_GETEDITCONTROL 0x1018 #const LVM_GETHEADER $0000101F ;¥«¥é¥àÉôʬ¤Î¥Ï¥ó¥É¥ë¼èÆÀÍÑ #const HDM_GETITEMCOUNT $00001200 #define LVM_GETITEMA 4101 ;¹àÌܥƥ­¥¹¥È¼èÆÀÍÑ #define LVM_SETITEMA 4102 ;¹àÌܥƥ­¥¹¥ÈºÆÀßÄêÍÑ //----¥ê¥¹¥È¥Ó¥å¡¼ºîÀ® listview 400,200,$310009 | LVS_EDITLABELS id=stat :hwd=objinfo_hwnd(id) listaddcl 0,"test1",100,2 listaddcl 1,"test2",100 listaddcl 2,"test3",100 // Êѹ¹ repeat 10 listadd 0,"¤¢¤¤¤¦¤¨¤ª",0 listadd 1,"¤«¤­¤¯¤±¤³",0 listadd 0,"¤µ¤·¤¹¤»¤½",1 listadd 1,"¤¿¤Á¤Ä¤Æ¤È",1 listadd 0,"¤Ê¤Ë¤Ì¤Í¤Î",2 listadd 1,"¤Ï¤Ò¤Õ¤Ø¤Û",2 loop stop //----WM_NOTIFY¥á¥Ã¥»¡¼¥¸ *NOTIFY dupptr nmhdr,lparam,12 ; NMHDR ¹½Â¤ÂΤγä¤êÅö¤Æ if nmhdr.0!=hwd :return if nmhdr.2=-106{ //----¥Æ¥­¥¹¥È¤Î¼èÆÀ mod=0 ;¥â¡¼¥ÉÊѹ¹ sdim text GetWindowText HWND_input,varptr(text),64 ;dialog text //----¥Æ¥­¥¹¥È¤òÀßÄê dim lvi,9 lvi=1,lvHitInfo(3),lvHitInfo(4),0,0,varptr(text),64 lvi = 1 sendmsg hwd,LVM_GETITEMA+1,0,varptr(lvi) ;dupptr a,lparam,64 ;sendmsg hwd,0x1006/*LVM_SETITEMA*/,0,varptr(a)+12 } //----ÊÔ½¸¤¬³«»Ï¤µ¤ì¤¿ if nmhdr.2=LVN_BEGINLABELEDIT{ //ÆþÎϥܥ寥¹¤Î¥Ï¥ó¥É¥ë¤ò¼èÆÀ sendmsg nmhdr.0 , LVM_GETEDITCONTROL , 0,0 ;ÆþÎϥܥ寥¹¤Î¥Ï¥ó¥É¥ë¤ò¼èÆÀ HWND_input=stat // dim pt,2 GetCursorPos varptr(pt) // ¢« ¥«¡¼¥½¥ë¤Î°ÌÃÖ¤ò¼èÆÀ gcp=pt(0),pt(1) ScreenToClient hwd, varptr(pt) // ¢« ¥«¡¼¥½¥ë°ÌÃÖ¤ò¥ê¥¹¥È¥Ó¥å¡¼¤ÎºÂɸ°ÌÃÖ¤ËÊÑ´¹ stc=pt(0),pt(1) dim lvHitInfo,6 lvHitInfo(0)=pt(0),pt(1) ListView_SubItemHitTest hwd, lvHitInfo // ¢« ¥ê¥¹¥È¥Ó¥å¡¼¤ÎºÂɸ°ÌÃÖ¤¬¡¢¤É¤Î¥»¥ëÆâ¤Î¤â¤Î¤«¤ò¼èÆÀ¡Ê¥Þ¥¯¥í¡Ë ;dialog strf("GetCursorPos(%d,%d), ScreenToClient(%d,%d)\n\n¡¡¢ª ListViewCell(%d,%d)", gcp(0), gcp(1), stc(0), stc(1), lvHitInfo(3), lvHitInfo(4) ) //----¼èÆÀ¤·¤¿¥¢¥¤¥Æ¥à¤Î¥Æ¥­¥¹¥È¤ò¼èÆÀ sdim text dim lvi,9 lvi=5,lvHitInfo(3),lvHitInfo(4),0,0,varptr(text),64 sendmsg hwd,LVM_GETITEMA,0,varptr(lvi) ;dialog text mod=2 ;ÊÔ½¸¥â¡¼¥É return } if mod{ ;ÊÔ½¸¥â¡¼¥ÉľÁ°¤Î½èÍý(LVN_BEGINLABELEDIT½èÍýľÁ°¤À¤È¡¢ÆþÎϥܥ寥¹¤¬ºîÀ®¤µ¤ì¤Æ̵¤¤¤Î¤Ç¡¢ºîÀ®¤µ¤ì¤¿¸å¤Ë¼Â¹Ô) if mod=2{ ;ºîÀ®Ä¾Á°°ì²ó¤À¤±¼Â¹Ô sendmsg HWND_input,0x000C,64,varptr(text) ;ÆþÎϥܥ寥¹¤ÎÆâÍƤòÊѹ¹ mod=1 } MoveWindow HWND_input,lvHitInfo.0,lvHitInfo.1,60,20,1 ;ÆþÎϤµ¤ì¤ë¤È¥ª¥Ö¥¸¥§¥¯¥È¤¬°ÜÆ°¤µ¤ì¤ë¤Î¤Ç¡¢¸ÇÄꤹ¤ë¡£ } return 0
¥µ¥Ö¥¢¥¤¥Æ¥à¤ò¥¯¥ê¥Ã¥¯¤·¡¢ÊÔ½¸¤µ¤»¤ë¤³¤È¤Ï½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢¸å¤â¤¦°ìÊâ¤Î¤È¤³¤í¤Çíµ¤¤¤Æ¤¤¤Þ¤¹¡£
ÆþÎϥܥ寥¹¤Î°ÌÃ֤ȥµ¥¤¥º¤ÏÊѹ¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢
ÆþÎϥܥ寥¹¤ò¥¢¥¤¥Æ¥à¤Î¥µ¥¤¥º¤Ë¹ç¤ï¤»¤ë»ö¤È¡¢ÊÔ½¸Ãæ¤Î»þ¤Ëº¸¤Î¥¢¥¤¥Æ¥à¤Î¥Æ¥­¥¹¥È¤¬¾Ã¤¨¤Æ¤·¤Þ¤¦»ö¤Çº¤¤Ã¤Æ¤¤¤Þ¤¹¡£



YTT

¥ê¥ó¥¯

2015/1/4(Sun) 20:00:03|NO.66872

>ÆþÎϥܥ寥¹¤ò¥¢¥¤¥Æ¥à¤Î¥µ¥¤¥º¤Ë¹ç¤ï¤»¤ë
LVM_GETSUBITEMRECT¤Ç¤¤¤±¤Ê¤¤¤Ç¤¹¤«¡©

>ÊÔ½¸Ãæ¤Î»þ¤Ëº¸¤Î¥¢¥¤¥Æ¥à¤Î¥Æ¥­¥¹¥È¤¬¾Ã¤¨¤Æ¤·¤Þ¤¦»ö¤Çº¤¤Ã¤Æ¤¤¤Þ¤¹¡£
LVS_EDITLABELS¤ËÍê¤é¤º¤Ë¼«Ê¬¤Çinput¤ò½èÍý¤¹¤ë¤è¤¦¤Ë¤¹¤ì¤Ð¤¤¤¤¤Î¤Ç¤Ï¡£
¥¯¥ê¥Ã¥¯¤µ¤ì¤¿¥¢¥¤¥Æ¥à¤¬´û¤Ë¥Õ¥©¡¼¥«¥¹¾õÂ֤ʤéÊÔ½¸¥â¡¼¥É¤ËÆþ¤ê¡¢
¥¨¥ó¥¿¡¼¤ò²¡¤¹¤«input¤«¤é¥Õ¥©¡¼¥«¥¹¤¬³°¤ì¤¿¤È¤­¤ËÊÔ½¸¥â¡¼¥É¤ò½ªÎ»¤È¤¤¤¦É÷¤Ë¡£
LVN_ITEMCHANGINGÆâ¤ÇLVM_GETNEXTITEM¤ò»È¤¨¤Ð¥¯¥ê¥Ã¥¯Ä¾Á°¤Î¥Õ¥©¡¼¥«¥¹¤Î¾õÂÖ¤¬¤ï¤«¤ë¤ó¤¸¤ã¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£



_end

¥ê¥ó¥¯

2015/1/5(Mon) 13:46:47|NO.66882

>>LVS_EDITLABELS¤ËÍê¤é¤º¤Ë¼«Ê¬¤Çinput¤ò½èÍý¤¹¤ë¤è¤¦¤Ë¤¹¤ì¤Ð¤¤¤¤¤Î¤Ç¤Ï¡£
¤¹¤ß¤Þ¤»¤ó¸À¤¤Ëº¤ì¤Æ¤¤¤Þ¤·¤¿¡£
¥ê¥¹¥È¥Ó¥å¡¼¤Î¹àÌܲèÌ̤Υ¦¥£¥ó¥É¥¦¥Ï¥ó¥É¥ë¤¬Ê¬¤«¤é¤Ê¤«¤Ã¤¿¤â¤Î¤Ç¡¢
Á°²ó¤Î²óÅú¤Î¤è¤¦¤Ë¥¨¥Ç¥£¥Ã¥È¥Ü¥Ã¥¯¥¹¤Î¥Ï¥ó¥É¥ë¤ò¼èÆÀ¤·¤Æ¿§¡¹¤ä¤Ã¤Æ¤Þ¤·¤¿¡£
YTT¤µ¤ó¤¬¶Ä¤Ã¤Æ¤¤¤ë»ö¤¬¡¢¥ê¥¹¥È¥Ó¥å¡¼¤Î¹àÌܲèÌ̤Υ¦¥£¥ó¥É¥¦¥Ï¥ó¥É¥ë¤¬
´û¤Ëʬ¤«¤Ã¤Æ¤¤¤ë¤â¤Î¤À¤È¤¹¤ì¤Ð¡¢¤É¤¦¤ä¤Ã¤Æ¥ê¥¹¥È¥Ó¥å¡¼¤Î¹àÌܲèÌ̤Υ¦¥£¥ó¥É¥¦¥Ï¥ó¥É¥ë
¤ò¼èÆÀ¤¹¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
»ä¤Î¸À¤Ã¤Æ¤¤¤ë»ö¤¬¤ª¤«¤·¤«¤Ã¤¿¤é¿½¤·Ìõ¤Ê¤¤¤Ç¤¹¡£



A

¥ê¥ó¥¯

2015/1/5(Mon) 16:07:00|NO.66884

YTT»á¤ò»²¹Í¤Ë

°Æ­¡

#include "llmod3/llmod3.hsp" #include "llmod3/listview.hsp" #include "llmod3/img.hsp" #uselib "user32" #func MoveWindow "MoveWindow" int,int,int,int,int #func SetWindowText "SetWindowTextA" int,prefstr listview 400,200,$210201 hList=objinfo_hwnd(stat) listaddcl 0,"test1",100,2 listaddcl 1,"test2",100 listaddcl 2,"test3",100 repeat 10 listadd 0,"¤¢¤¤¤¦¤¨¤ª",0 listadd 1,"¤«¤­¤¯¤±¤³",0 listadd 0,"¤µ¤·¤¹¤»¤½",1 listadd 1,"¤¿¤Á¤Ä¤Æ¤È",1 listadd 0,"¤Ê¤Ë¤Ì¤Í¤Î",2 listadd 1,"¤Ï¤Ò¤Õ¤Ø¤Û",2 loop mref text,65 LVITE=1,0,0,0,0,varptr(text),1024 oncmd gosub *WM_NOTIFY,$4e stop ;------------------------------------------------------------------------------- *WM_NOTIFY dupptr code,lparam,112 if code=hList { if code(2)=-121 {;LVN_HOTTRACK rect=2,code(4),0,0 return } if code(2)=-105 {;LVN_BEGINLABELEDIT LVITE(2)=rect(1) sendmsg hList,4141,code(4),varptr(LVITE) sendmsg hList,(rect(1)>0)*42+4110,code(4),varptr(rect) sendmsg hList,4120 hEdit=stat SetWindowText hEdit return } if code(2)=-106 {;LVN_ENDLABELEDIT code(5)=LVITE(2) sendmsg hList,4102,,varptr(code(3)) hEdit=0 return } if hEdit { MoveWindow hEdit,rect,rect(1),rect(2)-rect,rect(3)-rect(1) } } return
°Æ­¢¡¡¢¨¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤ÇÊÔ½¸

#include "llmod3/llmod3.hsp" #include "llmod3/listview.hsp" #include "llmod3/img.hsp" #uselib "user32" #func MoveWindow "MoveWindow" int,int,int,int,int #func SetWindowLong "SetWindowLongA" int,int,int #func ShowWindow "ShowWindow" int,int listview 400,200,$210001 hList=objinfo_hwnd(stat) listaddcl 0,"test1",100,2 listaddcl 1,"test2",100 listaddcl 2,"test3",100 repeat 10 listadd 0,"¤¢¤¤¤¦¤¨¤ª",0 listadd 1,"¤«¤­¤¯¤±¤³",0 listadd 0,"¤µ¤·¤¹¤»¤½",1 listadd 1,"¤¿¤Á¤Ä¤Æ¤È",1 listadd 0,"¤Ê¤Ë¤Ì¤Í¤Î",2 listadd 1,"¤Ï¤Ò¤Õ¤Ø¤Û",2 loop mref text,65 LVITE=1,0,0,0,0,varptr(text),1024 input text obj=stat hEdit=objinfo_hwnd(stat) SetWindowLong hEdit,-20 ShowWindow hEdit oncmd gosub *WM_NOTIFY,$4e stop ;------------------------------------------------------------------------------- *WM_NOTIFY dupptr code,lparam,112 if code=hList { if code(2)=-3 {;NM_DBLCLK rect=2,code(4),0,0 LVITE(2)=code(4) sendmsg hList,4141,code(3),varptr(LVITE) sendmsg hList,(rect(1)>0)*42+4110,code(3),varptr(rect) MoveWindow hEdit,rect,rect(1),rect(2)-rect,rect(3)-rect(1) ShowWindow hEdit,1 objprm obj,text objsel obj return } if code(2)=-100 {;LVN_ITEMCHANGING objsel -1 if stat=obj { oncmd 0 sendmsg hList,4102,,varptr(LVITE) ShowWindow hEdit oncmd 1 } } } return



YTT

¥ê¥ó¥¯

2015/1/5(Mon) 20:11:46|NO.66885

>¤É¤¦¤ä¤Ã¤Æ¥ê¥¹¥È¥Ó¥å¡¼¤Î¹àÌܲèÌ̤Υ¦¥£¥ó¥É¥¦¥Ï¥ó¥É¥ë¤ò¼èÆÀ¤¹¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
¥ê¥¹¥È¥Ó¥å¡¼¤Î¥Ï¥ó¥É¥ë¤Ï¤¹¤Ç¤Ëobjinfo_hwnd¤Ç¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¤è¤Í¡£
¹àÌܲèÌ̤Ȥ¤¤¦¤Î¤¬¥¢¥¤¥Æ¥à¤ä¥µ¥Ö¥¢¥¤¥Æ¥à¤Î¤³¤È¤Ê¤é¡¢¤½¤ì¤é°ì¤Ä°ì¤Ä¤Ë¥¦¥¤¥ó¥É¥¦¤Ê¤É¤¢¤ê¤Þ¤»¤ó¡£
¥ê¥¹¥È¥Ó¥å¡¼Á´ÂΤǰì¤Ä¤Î¥¦¥¤¥ó¥É¥¦¤Ç¤¹¡£
»Ò¥¦¥¤¥ó¥É¥¦¤È¤·¤Æ¥Ø¡¼¥À¡¼¥³¥ó¥È¥í¡¼¥ë(°ìÈÖ¾å¤Î¥¿¥¤¥È¥ëÉôʬ¡Ë¤Ï¤¢¤ê¤Þ¤¹¤¬¡£

¤Ê¤ó¤È¤Ê¤¯¥µ¥ó¥×¥ëºî¤Ã¤Æ¤ß¤Þ¤·¤¿
¤Á¤ç¤Ã¤È¤Þ¤ÀÊѤʤȤ³¤í¤â¤¢¤ê¤Þ¤¹¤¬»²¹Í¤Ë¤Ï¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£

#include "llmod3/llmod3.hsp" #include "llmod3/listview.hsp" #include "llmod3/img.hsp" #undef charupper #undef charlower #include "user32.as" #define SW_HIDE $00000000 #define SW_SHOW $00000005 #define WM_COMMAND $00000111 #define WS_CLIPCHILDREN $02000000 listview 400,200,$310009|WS_CLIPCHILDREN hList=objinfo_hwnd(stat) listaddcl 0,"test1",100,2 listaddcl 1,"test2",100 listaddcl 2,"test3",100 repeat 10 listadd 0,"¤¢¤¤¤¦¤¨¤ª",0 listadd 1,"¤«¤­¤¯¤±¤³",0 listadd 0,"¤µ¤·¤¹¤»¤½",1 listadd 1,"¤¿¤Á¤Ä¤Æ¤È",1 listadd 0,"¤Ê¤Ë¤Ì¤Í¤Î",2 listadd 1,"¤Ï¤Ò¤Õ¤Ø¤Û",2 loop dim point,2 dim rect,4 dim lvhittestinfo ,6 dim lvitem,9 cfocus=-1 sdim text,1000 input text,0,0 obj=stat hEdit=objinfo_hwnd(stat) SetParent hEdit,hList ShowWindow hEdit,SW_HIDE oncmd gosub *WM_NOTIFY,$4e oncmd gosub *ONCOMMAND,WM_COMMAND stop ;------------------------------------------------------------------------------- *WM_NOTIFY #define LVM_SUBITEMHITTEST $00001039 #define LVM_GETSUBITEMRECT $00001038 #define LVIR_LABEL $00000002 #define LVIF_TEXT $00000001 #define LVM_GETITEM $00001005 #define LVM_SETITEM $00001006 #define LVM_GETNEXTITEM $0000100C #define LVNI_FOCUSED $00000001 #define LVN_ITEMCHANGING $FFFFFF9C #define NM_CLICK $FFFFFFFE #define NM_KILLFOCUS $FFFFFFF8 #define EN_KILLFOCUS $00000200 #define WM_SETTEXT $0000000C #define WM_GETTEXT $0000000D dupptr code,lparam,12 if code=hList { if code(2)=NM_CLICK { sendmsg hList,LVM_GETNEXTITEM,-1,LVNI_FOCUSED if stat<0:return if stat!=cfocus:return GetCursorPos varptr(point) ScreenToClient hList, varptr(point) lvhittestinfo=point(0),point(1) sendmsg hList,LVM_SUBITEMHITTEST,0,varptr(lvhittestinfo) rect=LVIR_LABEL,lvhittestinfo(4),0,0 sendmsg hList,LVM_GETSUBITEMRECT,lvhittestinfo(3),varptr(rect) lvitem=LVIF_TEXT,lvhittestinfo(3),lvhittestinfo(4),0,0,varptr(text),1000 sendmsg hList,LVM_GETITEM,0,varptr(lvitem) MoveWindow hEdit,rect,rect(1),rect(2)-rect,rect(3)-rect(1),1 ShowWindow hEdit,SW_SHOW objprm obj,text objsel obj return } if code(2)=LVN_ITEMCHANGING { sendmsg hList,LVM_GETNEXTITEM,-1,LVNI_FOCUSED if stat<0:return 0 cfocus=stat return 0 } } return *ONCOMMAND if lparam==hEdit{ if (wparam>>16&0xffff)=EN_KILLFOCUS{ sendmsg hEdit,WM_GETTEXT,1000,varptr(text) lvitem=LVIF_TEXT,lvhittestinfo(3),lvhittestinfo(4),0,0,varptr(text),1000 sendmsg hList,LVM_SETITEM,0,varptr(lvitem) ShowWindow hEdit,SW_HIDE cfocus=-1 } } return



_end

¥ê¥ó¥¯

2015/1/5(Mon) 20:16:08|NO.66886

A¤µ¤óYTT¤µ¤ó¡¢¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
¤¢¤È¡¢¥µ¥ó¥×¥ë¤Þ¤Çºî¤Ã¤Æ¤¤¤¿¤À¤¤¤Æ¡¢ËÜÅö¤Ë¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡ª
̵»ö²ò·è¤·¤Þ¤·¤¿¡£

>>»Ò¥¦¥¤¥ó¥É¥¦¤È¤·¤Æ¥Ø¡¼¥À¡¼¥³¥ó¥È¥í¡¼¥ë(°ìÈÖ¾å¤Î¥¿¥¤¥È¥ëÉôʬ¡Ë¤Ï¤¢¤ê¤Þ¤¹¤¬¡£
¤Æ¤Ã¤­¤ê¡¢¥¢¥¤¥Æ¥à¤ÎÉôʬ¤¬»Ò¥¦¥£¥ó¥É¥¦¤Ê¤Î¤«¤È»×¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
»ä¤Î´ª°ã¤¤¿½¤·Ìõ¤Ê¤¤¤Ç¤¹¡£



ONION software Copyright 1997-2023(c) All rights reserved.