2022-06-27 16:53:05
Re①:フォーム上のリスト部品の外周をハイライト表示させたい
とりあえず、こんなかんじ? #----------------------------------------------- フォーム1とはフォーム これについて 背景色は黒色 可視はオン W=500。H=300。X=0。Y=0 フォーム2とはフォーム これについて 背景色は黒色 可視はオン W=500。H=300。X=フォーム1のX+W。Y=0 リスト11とはリスト これについて 親部品はフォーム1。 タグは「フォーム1」。 W=220。H=230。X=10。Y=25 アイテムは「 」 クリックした時は~自身をハイライト表示 リスト12とはリスト これについて 親部品はフォーム1。 タグは「フォーム1」。 W=220。H=230。X=240。Y=25 アイテムは「 」 クリックした時は~自身をハイライト表示 リスト21とはリスト これについて 親部品はフォーム2。 タグは「フォーム2」。 W=220。H=230。X=10。Y=25 アイテムは「 」 クリックした時は~自身をハイライト表示 ●ハイライト表示({グループ=?}OBJを) ハイライトクリア。 線色は黄色。 線太さは5。 塗りスタイルは「透明」 X1=OBJ→X。Y1=OBJ→Y。X2=X1+OBJ→W。Y2=Y1+OBJ→H。 「{OBJ→タグ}のX1,Y1からX2,Y2へ四角」をナデシコ。 ●ハイライトクリア フォーム1を黒色で画面クリア。 フォーム2を黒色で画面クリア。 #----------------------------------------------- まず大前提としてリストは、アイテムが入ってないとマウスのイベントが発動しないようです~(´Д⊂ヽ。←はまった人; 本来の運用ではきっと何かはいってるんでしょうから大丈夫かと思いますが、今回は仮にスペースを入れました。空ではダメです。 イベントの中で、イベントが発生している元の部品を参照するには「自身」をつかいます。 リスト自身の背景色を変えるのは「自身の背景色は黄色」とかでカンタンにできるのですが、これも値が入ってる部分だけしか着色しないようです。 掲載のコードのように外枠をつけるなら、四角を描画するのはリスト自身ではなく親部品のフォームの方ですよね。 ところが、どうも親部品の取得はできないような・・・ 困ったので、とりあえず無理矢理系で、親部品の名前をタグに覚えさせておいてナデシコしています。 「ナデシコ」は引数として与えた文字列をまるっとなでしこのプログラムとして実行してくれるとゆう命令で、困ったらすぐナデシコでなんとかしようとしちゃうんだよね💦 もっと賢い手立てがあったらみなさん発表して下さいませー🙏 外部関数に引数として部品を渡す時は、動的に作成した場合と同じく「の」ではなく「→」を使います。 あと、なでしこ1の「四角」の引数は、xywhではなく、左上のxyと右下のxyを指定する形なのでご注意です。 |