お世話になります。
.NET 2005 VC++/CLIでFlexGridを使用しています。
FlexGrid上のマウスで選択されているセルの値を取得したいのですが
どのように取得したらよいでしょうか?
今自分がグリッド上でどの座標をクリックしたかを取得して
(GetMouseRow、GetMouseCol)
その座標に対してGetTextMatrixすればいいんじゃないかな。
VCのFlexGridで使える関数一覧のご参考ページ
(ただしVC2005で使えるかどうかはわかりません)
ttp://hp.vector.co.jp/authors/VA014436/prg_memo/windows/vctips/004.html
VBぷろぐらまさん
こんにちは。アドバイスありがとうございます。
残念ながらVC2005ではGetMouseRow、GetMouseCol、GetTextMatrixはありませんでし
た・・・。GetData(int Row,int Col)で値が取得できるみたいです。
VC2005と言うのはExpress Editionですか?
今回の話には直接関係ないかもしれませんが、
この辺もはっきり書いておいた方が良いです。
.NET 2005とは多分言わないし、恐らくVS2005だろうとは検討がつきますけれど、
なるべくなら正式な名称を使った方が間違いありません。
使っているのはMicrosoft FlexGrid Control 6.0ですか?
C++/CLIの環境でこれを使うようにした場合、
インテリセンスで見る限りはGetDataというのは出てこないのですけれど、
これは何処から出てきたんでしょう?
そもそもFlexGridをフォーム上に貼り付ける時にどうやってやりましたか?
確かインストールしただけの状態ではFlexGridはツールボックスには
出てこないはずです。本当にFlexGridで間違いないでしょうか?
PATIOさん
こんにちは。アドバイスありがとうございます。
>>使っているのはMicrosoft FlexGrid Control 6.0ですか?
>>C++/CLIの環境でこれを使うようにした場合、
>>インテリセンスで見る限りはGetDataというのは出てこないのですけれど、
>>これは何処から出てきたんでしょう?
c1FlexGrid->GetDataで出てきます。
>>そもそもFlexGridをフォーム上に貼り付ける時にどうやってやりましたか?
>>確かインストールしただけの状態ではFlexGridはツールボックスには
>>出てこないはずです。本当にFlexGridで間違いないでしょうか?
FlexGridインストール後にツールボックスの全般項目欄にc1FlexGridコントロール
が追加されましたよ。
>>使っているのはMicrosoft FlexGrid Control 6.0ですか?
>FlexGridインストール後にツールボックスの全般項目欄にc1FlexGridコントロール
>が追加されましたよ。
それはおそらく
FlexGrid for .NET
http://www.grapecity.com/japan/support/database/P7_366.htm
標準価格:84,000円 (本体価格:80,000円)
開発環境
開発ツール Visual Studio .NET 2002/2003日本語版
Visual Studio 2005日本語版
開発言語 Visual Basic、C#
OS Windows 2000/XP/Server 2003日本語版
かと・・
#開発言語はサポート外で、別途購入ですから
#回答は少ないかもしれません。
うろ覚えですが
x= c1FlexGrid.GetCell.c1
y= c1FlexGrid.GetCell.r1
あたりでX,Yのセルが取得できませんか?
c1とr1は多分確かなのでヘルプを探してみてください
#会社に行けば確認できるので見てみますが
#開発元に聞くのが一番です。
ということは
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200703/07030032.txt
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200703/07030017.txt
は同じ人?
ちゅうか、レスついてるのに反応しないマナーもなっていない人には回答はまともなつ
かないかと。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200703/07030067.txt
うーっ。
私の質問に対する答えになってませんよねぇ。
にさんのレスが正しければ、
「Microsoft FlexGrid Control 6.0」ではありませんと答えるべきです。
で、こういう質問をする時はきちんと正式名称で聞くようにしないと
今回のように似た名前の物がある場合は期待した回答を得る事は出来ません。
つまり、質問する側できちんと情報提供する必要があると言う事です。
今回は、「Microsoft FlexGrid Control 6.0」なのかという質問を投げているわけなので
YesかNoで答えさえすれば、話はもっとスムーズに進みます。
で、FlexGrid for .NETというのが正解なら説明や使い方の解説は
付いていなかったのでしょうか?
購入したのであれば、grapecityの方に問い合わせるのが筋だと思いますけれど。
grapecityがサポートしてくれないと言うのであれば、こういう掲示板で聞くのも
わかりますけれど。
PATIOさん
こんにちは。
バージョンに対する回答がなくてすみませんでした。調べた所使用しているのは
FlexGrid for.NET 3.0Jというものでした。サポートもあるようで問い合わせをしました
がすぐに回答が得られずに質問してから回答が来るまで5日くらいかかったこともあり
すぐにレスをくださる掲示板にて聞いてしまいました(><)
x= c1FlexGrid.CursorCell.c1;
y= c1FlexGrid.CursorCell.r1;
c1FlexGrid.GetData(x,y);
でどうでしょう?
>FlexGrid for.NET 3.0J
ていうか、Web上にもPDFのリファレンスがあるようなんですが、
製品版に付属していなかったのでしょうかね?
http://ftp.grapecity.com/Product_FAQs/dotNET/FlexGridNET/FlexGrid%20for%20.NET%
203.0J_%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9.pdf
の
126ページに「C1FlexGridBase.CursorCell プロパティ」のリファレンスがあって、
315ページに「CellRange メンバ」のリファレンスがありました。
CellRange の Data プロパティで取得できるのではないだろうか。
C++/CLIだから
CellRange^ cr = c1FlexGrid->CursorCell;
Object^ o = cr->Data;
なて感じかなぁと。
Blueさん、にさん
こんばんは。いつもながら的確なアドバイスありがとうございます。
C1::Win::C1FlexGrid::CellRange^ cr = c1FlexGrid1->CursorCell;
System::Object^ a = cr->Data;
String^ b = a->ToString();
上記で無事に取得することが出来ました。ありがとうございます。
>>Web上にもPDFのリファレンスがあるようなんですが、
>>製品版に付属していなかったのでしょうかね?
ネット上にリファレンスがあるとは知りませんでした。製品版に付属していたと思いま
すが会社で支給されたマシンに肝心なMSDNライブラリが導入されていませんでした
(><)さっそくネットからDLし常に携帯しようと思います。ありがとうございまし
た。
>会社で支給されたマシンに肝心なMSDNライブラリが導入されていませんでした
>FlexGrid for.NET 3.0J
はMicrosoftの製品ではないのでMSDN入れてもFlexGridのリファレンスはのっていないん
じゃないかなぁ。
Blueさんへ
たびたびすみません。
本題には関係ないのですがお力を貸していただきたく書きました。
Form1(親)とForm2(子)がありForm1でForm2.Show()としてForm2を呼び出していま
す。
Form1にテキストボックスがありForm2からForm1のテキストボックスにアクセス(属に言
う子フォームから親フォームへのアクセス)が出来ずに困っています。。
Form2でthis->Ownerで取得できると思っていましたが駄目でした・・・。もしよろしか
ったら教えて頂けませんか?
そこらへんの話はよく挙がる質問ですので、下記のスレを参考にしてください。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=688713&SiteID=7