C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: MSFlexGridからDataGridViewへの移行方法


(過去ログ 64 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■37086 / inTopicNo.1)  MSFlexGridからDataGridViewへの移行方法
  
□投稿者/ 桂格子 (1回)-(2009/06/12(Fri) 14:25:16)

分類:[C/C++] 

開発環境:Visual Studio(以下、VSと記す)2008
使用言語:C++

VS6.0でプロジェクト新規作成でタイプとして
MFC App Wizard(exe)
を指定し、MSFlexGridを利用したアプリケーションを開発しました。

Microsoftは32ビットOSではWindows 7 まではVS6.0の動作をサポートしているようです。

しかし、4GBを超える領域を手軽に利用できるように上記アプリケーションを64ビットネイディブで動作するようにコンバージョンを計画しています。

Grid関係についてMSFlexGridは64ビットでサポートされていないのでDataGridViewへの移行を考えています。

VS6.0からVS2008にアプリケーションを自動変換させたとき、プロジェクトのタイプがMFC App Wizard(exe)からMFC ActiveXコントロールに変換されたように見えます。Dialogのコントロールを変更しようとしてマウスの右クリックによりActiveXコントロールの一覧を表示させましたがMSFlexGrid、DataGridは表示されますがDataGridViewが表示されません。

VS2008のプロジェクト新規作成でCLR Windows フォームアプリケーションを指定した場合には逆にツールボックスにDataGridViewのアイコンが表示されますがマウスの右クリックによるActiveXコントロールの一覧はサポートされていないようです。

何もかも再度入力して新規作成しないでも、MFC ActiveXコントロールのままでGrid関係のみMSFlexGridからDataGridViewへ変更させることはできないでしょうか?

言い換えるとMFC ActiveXコントロールタイプのプロジェクトでDataGridViewを利用できないのでしょうか?
引用返信 編集キー/
■37111 / inTopicNo.2)  Re[1]: MSFlexGridからDataGridViewへの移行方法
□投稿者/ オショウ (229回)-(2009/06/12(Fri) 21:12:18)
> 言い換えるとMFC ActiveXコントロールタイプのプロジェクトでDataGridViewを利用できないのでしょうか?

  DataGridView は、.NETランタイム上のものです。
  当然、MFC上には移行できません・・・

  http://www.atmarkit.co.jp/fdotnet/special/vcppinvista01/vcppinvista01_01.html
  http://www.atmarkit.co.jp/fdotnet/special/vcppinvista02/vcppinvista02_01.html
  http://www.atmarkit.co.jp/fdotnet/special/vcppinvista03/vcppinvista03_01.html

  この辺を参考にご検討下さい。

※ VC6から一気にVC2008ですから大変だとは思いますが・・・

以上。参考まで
引用返信 編集キー/
■37127 / inTopicNo.3)  Re[2]: MSFlexGridからDataGridViewへの移行方法
□投稿者/ 桂格子 (2回)-(2009/06/13(Sat) 14:47:15)
No37111 (オショウ さん) に返信

桂格子です。

オショウさん、正統な考え方をご教示いただきましてありがとうございました。

正統な考え方からは私が推測したように、動作を伴うボタンの処理に対するC++コーディング部分はコピー&ペーストによって工数削減できますが、CLR Windows フォームアプリケーションでプロジェクトを新規作成し、スタティックステキスト、エディットボックス、ボタン等は新規入力しなければいけないのですね。

プロジェクトの新規作成では工数が非常に大きく、何とかサボれないか、と思います。

MFC ActiveXコントロールタイプのプロジェクトでDataGridViewを利用できる抜け道をご存知の方がいらっしゃればご教示をお願いいたします。


引用返信 編集キー/
■37131 / inTopicNo.4)  Re[3]: MSFlexGridからDataGridViewへの移行方法
□投稿者/ オショウ (231回)-(2009/06/13(Sat) 19:26:45)
同じことを探している方、居るんですネ・・・
http://www.go4expert.com/forums/showthread.php?p=37555

で、これがどうななのか・・・
http://www.codeproject.com/KB/miscctrl/gridctrl.aspx

※ お確かめ下さい・・・

以上。
引用返信 編集キー/
■37144 / inTopicNo.5)  Re[4]: MSFlexGridからDataGridViewへの移行方法
□投稿者/ 桂格子 (3回)-(2009/06/14(Sun) 09:31:13)
No37131 (オショウ さん) に返信

桂格子です。


オショウさん、2番目のやり方をご教示いただきましてありがとうございました。

プロジェクトのタイプはMFC ActiveXコントロールのままでMSFlexGrid部分をユーザーソースコードで置き換えることだと理解しました。

ダイアログの編集をGUIで行う場合にGrid系は多分表示されないのでしょうね。

ダイアログに貼り付けているコントロールはGrid系を除き、すべて変更しなくて済みますのでCLR Windows フォームアプリケーションで新規作成するのに較べて格段に工数削減できるのではと推測します。

3番目の方法としてMSDNのページに
http://msdn.microsoft.com/ja-jp/library/ahdd1h97.aspx
「MFC ダイアログ ボックスで Windows フォーム コントロールをホストする方法」という言葉を見つけましたのでMFC ActiveXコントロールタイプでDataGridViewを使用可能か、さらにMSDNを調査したいと思います。

以下の優先度で(1)と(2)については実現性を見極めてアプリケーションの64ビット化を実現したいと思います。
(1)MFC ActiveXコントロールタイプでDataGridViewを使用
(2)MFC ActiveXコントロールタイプでGrid系をユーザーコーディング
(3)CLR Windows フォームアプリケーションタイプで新規作成、DataGridViewを使用


オショウさん、2回にわたり、ご教示いただきまして大変ありがとうございました。





解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -