トップページ⇒prog
16コメント5KB

文化オリエントのSpread

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさんNGNG
というActiveXコンポーネントをC++からコントロールすることは可能でしょうか?
もし、不可能ならば良い表計算コントロールを紹介してもらえませんでしょうか。
よろしくお願いします。
0002名無しさんNGNG
VC++だったら、「プロジェクトへ追加」→「コンポーネントおよびコントロール」って
ところで何とかなりませんか?
(参考にならなくてごめんね)
インターフェイス部分のクラスファイルも勝手に作ってくれると思うの
ですが・・・。

0003名無しさんNGNG
いま文化のHPみてきたけど対応言語にVCは無いね。

おそらく2さんの方法で実装はできるけど、呼び出すのがややこしい
メソッドがあると思う。VARIANTを駆使すれば多分できるけど。

今、表・グラフものの仕事してんだけど、最初文化のVS-Flexとか
使った。でも客先の要求を満足することができなくて、結局自分で
つくるはめになった。
0004名蕪しさんNGNG
VBでActiveXコンポーネントにしちゃえ。
0005>4NGNG
それって、どうやるんですか?
VBでラッパーを作る感じなのでしょうか。
今、DBGridがVCから使えなくて悩んでるんで…(対応言語には入ってないけど)
VARIANT型は訳分からんし。
0006>1NGNG
C++ビルダなら、コンポーネントの所で取り込んでみたら?
0007Excelじゃ駄目?NGNG
Excel制御した方が簡単なように思うけど、

それが大きすぎて、単純に表形式で表示したいだけなら、Delphi/C++ビルダでActiveX作る手もあるよ
0008ねこ電車NGNG
1がどこまで理解しているのか疑問だけど・・・、VC++でVARIANT型だったら、
COleVariantを使えばいいと思う。
(おいらもよく分かってない)

0009ねこ電車NGNG
追記して書きます。
VC++だったら、
1.ラップクラスは作成できたのでしょうか?
2.AttachDispatch、ReleaseDispatch、COleVariantは理解している
でしょうか?
00105NGNG
1.ラップクラスは作成できました。
 …っていうか、プロジェクトに追加したらVC++が勝手に作ってくれました。
2.このへんイマイチ理解してないです。
 ラッパクラスの中にイベントハンドラらしきメンバがあるのですが、
 VARIANT型が謎。
0011ねこ電車>10NGNG
VARIANT型は、型の種類と値をメンバに持つ、これ一つで文字でも数字でも
入れることのできる便利な(厄介な?)型です。
COleVariantを使った方が分かりがいいかもしれません。

例えばSetBookmark(const VARIANT& propVal)とあったら、
SetBookmark( COleVariant( 2@` VT_I2 ));
とかすればいいと思います。

あと新規作成されたラップクラスの方で
SetProperty(0x5@` VT_VARIANT@` &propVal);
という風に実装された部分があれば、
SetProperty(0x5@` VT_I2@` propVal); <= propValがshort の場合
と変更し、Variant型の使用を止めるというのも手です。
(あまり自信がないので、誰か補足してやって)
0012名無しさんNGNG
たまにOCXコンテナの微妙な実装の違いにより動作しないOCXもあるよ
アンビエントとエクステンダプロパティなんて
必ずしも実装しなくてもいいものもあるから。
特定のプロパティが有る事を期待しているため動かない
なんてのもあった。
そういう言う意味で対応に入れていないのかもしれない。
0013>1NGNG
3の人が言ってたように、同じ文化オリエントの
VS-FlexGrid Pro で済むならこれでいいんじゃない。
00143ですがNGNG
>13さん

私の持っているのはVS-Flexですが、Proになると計算機能が
つくのですか?VS-Flexはただの表コントロールですので。

SPREADを安心して使うのにはVBでActiveX Controlにするのが
良いと思います。
001513NGNG
>14
↓一応、こんな感じですけど
(自動小計算)
総計、平均、標準偏差など8種類の自動計算をサポートします。
さらに、算出された結果行の表示位置やスタイルを細かく指定できます。

00161NGNG
返事が遅れてもうしわけありません。
Variant型が問題で、やっぱりそのまま使うのは難しいようですね。
VBでActiveXにするのに挑戦してみます。
VS-FlexProはお金が無いので買えませんです、ハイ。
■ このスレッドは過去ログ倉庫に格納されています