EXEからOCXへの変換

[戻る]
にし [E-Mail] 2002/03/01(金) 11:08:01
はじめて投稿します。よろしくお願いします。

VC++6のMFC AppWizard(exe)で、ツリーコントロールを利用したプログラムを
作りました。実行はうまく動作してます。これをOCXに変換したいのですが
何か方法はありませんか?
また、はじめから MFC ActiveX ControlWizardで作り直さないと駄目でしょうか?

不良PG 2002/03/01(金) 11:15:36
>VC++6のMFC AppWizard(exe)で、ツリーコントロールを利用したプログラムを
>作りました。実行はうまく動作してます。これをOCXに変換したいのですが
>何か方法はありませんか?
>また、はじめから MFC ActiveX ControlWizardで作り直さないと駄目でしょうか?

MFC ActiveX ControlWizardで作り直して
既存のコードを移植?していく方法が良さそうですね。

にし [E-Mail] 2002/03/01(金) 11:52:56
不良PGさん 有難うございます。

>MFC ActiveX ControlWizardで作り直して
>既存のコードを移植?していく方法が良さそうですね。

やはりそうですか。 コードの移植はコピーで出来そうですが、コントロールの
移植はOnDraw関数に書かないと駄目でしょうか?
ツールBOXのコントロールは利用出来ませんか?

不良PG 2002/03/01(金) 12:05:13
>コントロールの移植はOnDraw関数に書かないと駄目でしょうか?
???
特別な描画を行っている場合は、書く必要があると思いますが・・・
>ツールBOXのコントロールは利用出来ませんか?
使えます

不良PG 2002/03/01(金) 12:09:43
もう少し内容を詳しくお願いします
元プロジェクトの形態(SDI、MDI、ダイアログベース、...)
目的のコントロールは、どんなコントロールを使って、どういう動作をするのか・・・

このままでは、答えられません

にし [E-Mail] 2002/03/01(金) 16:15:46
不良PGさん 回答有難うございます。
 
>もう少し内容を詳しくお願いします

SDIのフォームにTreeViewコントロールだけを貼り付けて、全ドライブと全フォルダを
表示するだけのものです。
エクスプローラの左側に表示されるものとほぼ同じです。OCX化する際には2〜3の
プロパテーも追加しようかとも思っています。

不良PG 2002/03/01(金) 17:14:26
MFC ActiveX ControlWizardでサブクラスするコントロールをSysTreeView32を選択して
COleControlのウインドウハンドルをツリーコントロールとして扱えばOKみたいですね

COleControlクラス内で

CTreeCtrl* pTreeCtrl = (CTreeCtrl*)CWnd::FromHandle( m_hWnd );
CTreeCtrl* pTreeCtrl = (CTreeCtrl*)this; //これでも問題なし?

こんな風にやればアクセスできそうですね

にし 2002/03/01(金) 18:00:43
不良PGさん 有難うございます

早速やってみます。

にし 2002/03/01(金) 21:56:44
[[解決]]
不良PGさん 数々のアドバイス有難うございました。
おかげさまで、基本的な動作(ActiveXのデバッグ環境でドライブ名を
入力して動作させると、全フォルダが表示される)が完成しました。
これから2〜3のプロパテーを挿入すれば完璧です。
有難うございました。

古いスレッドには追加発言できません。