ダイアログのアドレス取得 – プログラミング – Home

ダイアログのアドレス取得
 
通知
すべてクリア

[解決済] ダイアログのアドレス取得


YAMA
 YAMA
(@YAMA)
ゲスト
結合: 19年前
投稿: 9
Topic starter  

はじめましてYAMAと申します。
VC++2005のMFCによるSDIのフォームビューベースの環境で、
フォームビューより、モーダルダイアログを表示した時の、
ダイアログのアドレスの取得方法を教えて下さい。、
やりたい事は、そのダイアログの中でリストビューのヘッダーによるソートを実現した
いのです。
ダイアログベースや、フォームビュー上での取得方法等はわかったのですが、
上記の場合での、比較関数(CALLBACK)内からの取得方法がわかりません。
比較関数以外からは、GetParentOwner()で取得できそうなのですが・・・・
どなたかご教授、願えませんでしょうか??
尚、ダイアログ、フォームビューのプロパティ項目に設定しなければいけない項目等も
あればお願いします。


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

リストビューのあるのがダイアログであるならば、親であるウィンドウでやらずに
ダイアログクラスでやるべき作業ではないでしょうか?
# ダイアログクラスから見れば、自分だけで済むことで親がなんだろうと関係ない。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

もしかして、CListCtrlのポインタがあれば事足りるなんて事はないですか?
Web上を見ていたらItemDataにデータのインデックスを入れといて
リストコントロールからインデックスでデータを取り込んでソートしている
例があったみたいですけれど。
方法論的になりますけれど、予めデータが自分の思い通りに並ぶような数値を
データから計算して出しておいて書くアイテムのItemDataに設定しておき、
比較関数は単純にもらった数値の大小比較をするというのも手でしょうし、
ItemDataにそのアイテムの比較に必要な情報を保持しているクラスのポインタを
入れておいて比較関数側でそのクラスの中身を見るなり、そのクラスに用意した
比較用の関数を呼ぶなりして大小比較して結果を返すとかした方が良い様な気もします。
いずれにせよ、ダイアログのアドレスがなくても処理が出来るように考えた方が
よいのではないでしょうか?


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

誤字。(^^;

誤)
データから計算して出しておいて書くアイテムのItemDataに設定しておき、

正)
データから計算して出しておいて各アイテムのItemDataに設定しておき、


返信引用
YAMA
 YAMA
(@YAMA)
ゲスト
結合: 19年前
投稿: 9
Topic starter  

YAMAです。
PATIOさんの言うとおり、無理にダイアログのアドレスを
取得しないで実装する方法がありそうですね、そちらの方向で
検討してみます。アドバイスありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました