プロが教える店舗&オフィスのセキュリティ対策術

環境はVisualStudio .NET2003です。

VC++ MFCにて、動画の一覧をリストで表示するようなものを作りたいと
考えています。
リスト上部に「ファイル名」「ファイルサイズ」「再生回数」などの
項目名が横方向に並び、その下の各行(表示されるデータ)には、
左端にサムネイル、続いて実際のファイル名、ファイルサイズ、
再生回数などが表示される、といった具合です。

CListCtrlを使うことで、ファイル名などの各項目、サムネイルの
表示などはできるようなのですが、各行にそれぞれ「ボタン」を
設置することはできないでしょうか?
「再生」「削除」などのボタンを設置し、各行のデータに対する
映像再生、ファイル削除の処理を割り当てたいと考えています。

「各行にわざわざ設置しなくても、リストとは別にボタンを用意し、
リスト内の各行を選択してからボタンを押すようにすればよい」という
考え方もあるかと思いますが、できるだけ操作のステップ数を
減らそうと思い、このような仕様を考えました。

もしCListCtrlで各行にボタンを設置する方法をご存知の方が
いらっしゃいましたら、具体的な方法または参考ページを
教えていただけないでしょうか。
よろしくお願い致します。

A 回答 (1件)

昔VC6で上記に似た事をしましたが、かなり無理矢理なので、


tamtam_sepさんがイメージ的に違うものと思うますが、一応書いて置きます。

流れ
(1)CListCtrl にボタンのイメージを配置する。
(2)HitTest使ってユーザがクリックした座標をチェック
(3)座標が丁度ボタンイメージ位置に重なっていたら、
 ボタン押下イメージにボタン画像をすり替えて、
 押下内部処理を行う。

大体、こんな感じ、、。面倒でした。(==;
    • good
    • 0
この回答へのお礼

画像を使って擬似的にボタンを表現する、というやり方ですね。
「リストがスクロールできる」「列幅をユーザーが変更できる」
という点を考慮する必要があるので、ボタンの座標を把握するための
処理はかなりややこしくなりそうですね。
ご回答ありがとうございました。参考にさせていただきます。

引き続き、情報を募集します。よろしくお願い致します。

お礼日時:2007/12/21 15:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています