VC++6使用の初心者です。
EXCELのような直接セル内容を編集できる2次元表コントロールを
実現したいのですがどうすればよいのでしょう。
リストコントロールのレポートの直接内容編集ができる感覚です。
どういう方法でも構いませんので、ご教示願えますでしょうか。
1ヶ月レスなしというのは、よほど的外れな質問なのでしょうね・・(u_u;)
MSFlexGridというコントロールがイメージに近いようでした。
ただ、直接入力が標準にサポートされているのか、よくわかりません・・
それともOnKeyPress等のイベントを使って(自分で)構築するのでしょうか?
同様の経験をされた方とか、いらっしゃいませんか
MSFlexGridは、確か直接編集はサポートされていなかったと思います。
このMSFlexGridは、グレープシティー社の販売しております、VS-FlexGrid
の廉価版です。VS-FlexGridは直接編集モードをサポートしています。
http://www.grapecity.com/japan/support/database/P1_223.htm
一度、ご確認下さい。
※ 当然、VC++でも使用可能です。
以上。
以下のURLに同様な質問があります。参考になると思います。
http://www.mtakahashi.com/old/a8000.html#A7994
岡田様、Eighty様、回答ありがとうございます。あれから検討を重ねまして、
現在、MSFlexGridに入力用CEditを重ねて見せる手法でクラスを作っています。
手間はかかりそうですが、要求のものはなんとか実現できそうです。
ただ、CEditをグリッドのカレントセルの属性に対照させる処理で困っています。
具体的にはCEditをセル上で動かすたびに右寄せ左寄せ等を動的に変えたいのです。
文字寄せの設定はCEdit::Createで作成時に設定するしかないようですし、CWnd::ModifyStyleExではうまくいきません(使い方が悪いのかもしれませんが)
あと、違う質問は別の発言としたほうがよかったでしょうか
> 文字寄せの設定はCEdit::Createで作成時に設定するしかないようですし、CWnd::ModifyStyleExではうまくいきません(使い方が悪いのかもしれませんが)
同様な質問がありました。基本的にはCEditを作り直すしかないようです。
http://forums.belution.com/ja/vc/000/090/64s.shtml
> 基本的にはCEditを作り直すしかないようです。
作り直しをすることで、うまくいきました。
Eightyさん、ご指摘ありがとうございました。