弐条海月の とはずがたり

そこはかとなく書き綴るブログなるもの

» 2012年9月の日記

GIANTのEyewear

ちょっと前の話になるのだけれど…自転車に乗る時に使うサングラス、GIANTのEyewear(アイウェア)を入手しました。GIANTのアイウェアには色々な種類がありますけれども、私が入手したのは「RAPTOR 2」(DAY & NITE)というもの。

調光レンズが使われていてUVを100%カットしてくれます。ノーズパッドが調節可能なのでフィット感が高く、ヘッドストラップも付属しているので安心。先日、次男が出場した大会で次男に装着させてみましたが、「RAPTOR 2」のサイズが少々大きくとも、ヘッドストラップがあるので問題なく装着でき、とても良かったみたいです。

自転車に乗る時に使えるアイウェアとしては、すでにドッペル純正のキャンペーン用サングラス(サイトでMyドッペルを紹介するともらえる)を持っていたのだけれど、レンズが黒いので晴天時じゃないと使えないんですよね。その点この「RAPTOR 2」なら調光レンズなのでそういう心配がありません。

残念なのは…私が自転車に乗る時間がとれないこと。最近は朝早く起きるのがつらく、午後6時にはもう暗くなっているし…。休みの日には薪関連の作業もしたいし、子ども達の行事もあったり…なかなか忙しいです(汗)。

これらは「RAPTOR 2」ではないですが…。


2012-09-25のツイート…

  • 薪ストーブにちょっとだけ火を入れた。暖をとりつつ温かい甘酒を一杯。 00:11:36
  • いつの間にか自宅周辺がプラチナバンドに対応してました。会社周辺はまだでしたが、9月末までに…という言葉に偽りなしでした。やるなSoftBank。 20:04:59
  • 買い物から帰宅しました。とあるスーパーは冷房が効き過ぎで、身体が芯から冷えました。次に寄ったドラッグストアでは暖房が入っていて暖かかった。もうそんな季節。 21:55:39

【HSP3】llmod3のlistviewでチェックボックスを取り扱う方法

Windowsで動作するフリーのインタプリタ型プログラム言語「HSP(Hot Soup Processor)」にて、標準同梱されている「llmod3」。HSP2.X時代から使われていたこのモジュールによって、標準命令にはないオブジェクトの配置やコントロールが可能になっておりました。HSPのバージョンアップに伴って使えなくなっていたのですが、開発者ではない方がHSP3.X用に修正したようで、標準同梱されるようになっています。これを利用して作れるオブジェクトにlistview(リストビュー)があるのだけれど、オプションでチェックボックス付きのリストビューを作成すると、そのチェックボックスを後からコントロールできない状態になっていたのです。ヘルプに書かれている内容がHSP2.X時代のもので動作しないのです。今日はそれを動作するように改良したお話…。

現在私がHSPで開発しているのが…仕事上で役立つアプリケーションのうち、最も大きなもの。いくつかのアプリケーションで構成されている、テキストファイルをWEB掲載するためのシステム。そのうちのWEB化するテキストを選択するアプリケーションに手を入れているところです。このアプリにはlistview(リストビュー)が2つ登場します。レイアウト的には2つのリストビューの間にテキストボックスがある感じです。

左側にあるリストビューはテキスト用。そこにあるテキスト名のひとつを選ぶと、隣にあるテキストボックスに中身が表示されます。テキストの内容を見てWEB化するかどうかを判断し、WEB化すると決まればリストビューのテキスト名が選択された状態でスペースバーを押すとチェックボックスにチェックが入る仕組みになっています。

この時、チェックが入ったテキストに関連した画像ファイルがあった場合、テキストボックスを挟んで反対側にある画像用のリストビューにある関連画像ファイル名の横にあるチェックボックスにも自動でチェックが入るようにしたいのだけれど…それを実現できなかったんです。

理由は先述した通り、listview命令のヘルプを見ても古いHSP用の記述になっていて動作しないため。ネットで色々と検索しつつ、Windows APIの勉強などもしてみたり…。そこで少しずつ分かってきたことをもとにして、ようやくチェックボックスの状態をチェックすることと、チェックボックスのオン/オフの切り替えができるようになりました。特にHSP3掲示板、10年以上前の過去ログに、llmod3の前身であるllmod時代のリストビューのモジュールが大いに参考になりました。これを機に私のほうでもモジュール化しておこうと思います。

以下にllmod3で作ったlistview(リストビュー)のチェックボックスの状態を確認する方法と、チェックのオン/オフの切り替え方法について書いておきます。(近くモジュール化し公開します)。

;リストビューのテスト
//2012/09/25    弐条海月作成

   #include "llmod3/llmod3.hsp"
   #include "llmod3/listview.hsp"    //リストビューの作成

   //リストビューコントロールの作成
   listview 180,180,$50009                    //リストビューを作成
   id_listview=stat                        //リストビューのID
   hwnd_listview=objinfo_hwnd(id_listview)    //リストビューのハンドル

   listaddcl 0,"タイトル",160                //リストビューに欄を追加

   //リストビューの中身
   txt_list={"あいうえお.txt
               かきくけこ.txt
               さしすせそ.txt
               たちつてと.txt
               なにぬねの.txt"}

   //リストビューに表示
   sel_listview id_listview    //操作するリストビューを選択
   notesel txt_list : idx=notemax
   repeat idx
           noteget txt_name,cnt
           listadd cnt,txt_name,,,
           await
   loop

   //ボタンの表示
   pos 2,185 : button "状態チェック",*action
   objsize 48,24
   pos 75,185 : button "全選択",*action2
   pos 130,185 : button "全解除",*action3

   stop

//------------------------------------------------------

*action
//dialog "状態チェック"
   a=8,0,0,0,8192|4096    //初期設定
   repeat idx
       a(1)=cnt
       getptr po, a    //sendmsg用のポインタを取得
       sendmsg hwnd_listview, 4101, 0, po
       if a(3) = 8192 {//チェックが入っている
   dialog ""+cnt+"番目のアイテムはチェックされています",0,"a(3)="+a(3)
       }
       if a(3) = 4096 {//チェックが入っていない
   dialog ""+cnt+"番目のアイテムはチェックされていません",0,"a(3)="+a(3)
       }
       await
   loop
stop

//------------------------------------------------------

*action2
//dialog "全選択"
   a=8,0,0,0,8192|4096    //初期設定
   repeat idx
       a(1)=cnt
       getptr po, a            //sendmsg用のポインタを取得
       sendmsg hwnd_listview, 4101, 0, po
       if a(3) = 4096 {//チェックが入っていない
                       //dialog ""+cnt+"番目のアイテムはチェックされていません",0,"a(3)="+a(3)
                       a(3)=8192    //チェックをオンに
                       sendmsg hwnd_listview, 0x1006, 0, po
       }
       await
   loop
stop

//------------------------------------------------------

*action3
//dialog "全解除"
   a=8,0,0,0,8192|4096    //初期設定
   repeat idx
       a(1)=cnt
       getptr po, a            //sendmsg用のポインタを取得
       sendmsg hwnd_listview, 4101, 0, po
       if a(3) = 8192 {//チェックが入っている
                       //dialog ""+cnt+"番目のアイテムはチェックされています",0,"a(3)="+a(3)
                       a(3)=4096    //チェックをオンに
                       sendmsg hwnd_listview, 0x1006, 0, po
       }
       await
   loop
stop


休日なのに体調悪化…でも棚制作

先週末から体調を崩し始めておりまして、次男が出場した自転車大会があった昨日は鼻水が止まらず難儀しました。身体もだるく、朝早くから活動したこともあり早めに就寝したのだけれど…せっかく休みを取っておいて今日は完全に風邪の諸症状が出ており散々でした。

起き上がる元気もなく、午前中はゴロゴロしながら過ごしました。三男が帰ってくる時間になり、バスを出迎えるために外に出たのだけれど…午前中に降っていた雨が上がっていて、体調も少しだけ良くなっていた(薬を飲んだから)ので、バスが到着して三男が帰ってきても、外で棚制作の作業をしました。

棚とは先日、途中まで作った靴箱の横に置く棚です。写真は主な材料。最初はシナランバー材を買って使おうと計画していたのだけれど、コスト削減のためすべて端材のみにしました。下の部分はすでに完成しているので、今日は上段の部分を作りました。なかなかまとまった時間がないとできない作業ですし、できるだけ早く完成させたかった…というのもあります。

2段目の棚の天板には、1段目と同様に余っているフローリング材を用います。ちょうど良い長さのフローリング材があったのでそれをほぼ真ん中で切断し、繋げて補強してからちょうど良い寸法にカット。脚は不揃いの長さの材を丸のこでカットして揃え、天板にネジ止め。横には補強の材を入れておきました。

1段目と2段目の棚の接合は…2段目の脚が乗ることになる1段目の天板部分4カ所に途中までネジを埋め込み、ネジ頭が出ている状態にしてからネジ頭にペンで色を塗り、そこに2段目の脚をくっつけて色を写してからドリルでネジ頭が入る穴を開けます。こうすることで取り外しが簡単にでき、ずれたりしない棚の完成です。

このアングルからだと天板裏の補強の材が丸見えですね(笑)。決して見た目は良くないですが…ちょうど靴箱に隠れるように作ったので玄関ドアからは見えません。良い感じに仕上がったのではないかと思います。


2012-09-23のツイート…

  • 空が明るくなってきた。 04:51:03
  • 潰れたアンパ○マン。これじゃ力が出ないよ…(笑)。 http://t.co/fksqPE6n 05:46:24
  • 網走湖のほとり。雨が降ってきました。 14:16:36
  • 昨夜に仕込んでおいたイクラが完成。丼、手巻き、軍艦も美味(喜)。 19:09:39

固定ページ

最近の投稿

カテゴリー





カレンダー

2012年9月
 12
3456789
10111213141516
17181920212223
24252627282930

過去の日記はこちら

キーワードで検索