HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0529
kenさくら氏のexlistview.asを使用して選択監視は出来ないでしょうか2解決


ken

リンク

2017/5/29(Mon) 18:11:43|NO.80038

さくら氏のexlistview.asを利用させていただいています。リストビューのアイテムをシングルクリックするとそのIDを取得する方はないでしょうか?
リストボックスではできるのですが、どのようにすべきかわかりません。よろしくお願いします。



この記事に返信する


MillkeySoftw

リンク

2017/5/30(Tue) 12:37:07|NO.80044

コモンコントロールなどは基本的にウィンドウメッセージを用いて、メインプログラムなどに通知されます。
リストビューコントロールは、基本的に WM_NOTIFY というウィンドウメッセージです。
以下にサンプルです。

#include "sysval.as" #include "gblconst.as" #include "winapi32.as" #include "user32.as" #include "comctl32.as" #include "exlistview.as" #define LVN_FIRST (0 - 100) #define LVN_ITEMACTIVATE (LVN_FIRST - 14) oncmd gosub *lvcall,WM_NOTIFY lvshwnd=Createlstview(0,0,0,600,400) //通知の条件をダブルクリックからシングルクリックに変更 lsvexset lvshwnd,$0040 lsvcladd lvshwnd,"サイト名",0,0,200,0,0 lsvcladd lvshwnd,"作者",1,0,100,0,0 lsvcladd lvshwnd,"アドレス",2,0,300,0,0 lsvimadd lvshwnd,"HSP-NEXT",0,0 lsvimadd lvshwnd,"ONION software HOMEPAGE",1,0 lsvimadd lvshwnd,"HSP CENTER",2,0 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 stop *lvcall //NMHDR 構造体を作成 dupptr NMHDR,lparam,12,4 //[隠しコードなので環境依存注意] //通常であれば、LVN_ITEMACTIVATE で選択情報を捕捉するのですが、 //シングルクリックとダブルクリックの判定処理でワンテンポ遅いので //選択項目の変更時に通知されるコードを使用します。 //こちらで通知コードを調べた結果なので全OS で使用できるかは保証しません。 //安全に扱う場合、正式な LVN_ITEMACTIVATE を使用してください。 if NMHDR(2) == -101 { lv_ActiveID =lsvfound(lvshwnd,-1) title ""+lv_ActiveID+" が選択されました" } return



ken

リンク

2017/6/1(Thu) 15:33:42|NO.80054

MillkeySoftwさんありがとうございました。ていねいなサンプル。実行いたしましたら、選択されたIDが見事得られました。いつまでたってもAPIがらみの扱いが判りません。
本当にありがとうございました。



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