• ベストアンサー

ocxの作り方(MFC)

VC6でactiveX(ocx)をつくろうと思い、 プロジェクトを作ったのですが、 関数の作り方がわかりません。 Ctlファイルには手書きで追加するのでしょうか? 入門書にも乗ってないようで・・・ よくわかるサイトか何かご存じないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • SeydaNeen
  • ベストアンサー率43% (26/60)
回答No.1

MFCでActiveX。昔、ちょこちょこと作りましたね。まあ大したものじゃないですが。 関数は、 ClassViewか、クラスウィザードか、を使って追加しますね。(どっちだったか、今、VC6が入ってないもので・・) http://msdn.microsoft.com/ja-jp/library/k194shk8.aspx は、MSのページです。 http://www.koutou-software.co.jp/junk/howto-mfcdlg.html にも丁寧に書かれています。 ただ、そう簡単なものではないので、専門的な本を買ったほうがいいと思いますけど。 Amazonで、"MFC ActiveX"とか、"MFC COM"で検索かけるとか。

nevertheless
質問者

お礼

やっぱ難しいんですね。 本もなさそうですけど、探してみます。

関連するQ&A

  • OCXの作成

    他の環境(PC)で開発したOCXを、他の環境(PC)で作成使用とすると、 エラーメッセージ表示:「コンパイルエラープロジェクトまたはライブラリが 見つかりません」と表示されます。その後ファイル内のleft関数にフォーカス されます。OCXの作成とは、VBPファイルを開き、「ファイル」→ 「XXXX.ocx(exe)を作成」を指します。[開発環境]win98,VB6.0(SP3) なにかライブラリなどを追加する必要があるのでしょうか?   

  • ACTIVEX(OCX)コントロールでのバージョンプロパティの設定

    現在、VC++でACTIVEX(OCX)コントロールを作っています。 プロパティ VERSION でVS_VERSION_INFOのFILEVERSIONの値を返却するようにしたいと思っています。 また、VBなどに貼り付けたときにプロパティ VERSIONのところにバージョンが表示されるようにしたいと思っています。 GetFileVersionInfo を使ってバージョン情報を取得する関数は作成したのですが、この関数を本来どこでCALLすべきなのかがわかりません。 VC++は初めてなので、よくわかっていません。 教えていただけないでしょうか。 また、GetFileVersionInfo を使用せずに簡単にバージョンをプロパティとして提供する方法があれば教えてください。

  • WIN32でOCXを利用する方法を教えて下さい!

    MFCでOCXを利用する方法は、MFCのウィザードに従ってActiveXを使うを選び、 AfxEnableControlContainer(); を書けば良いとわかり、実際に使用出来ています。 さて、ところで、Win32でOCXを利用する方法がありましたら、是非、教えて下さい。 いつも、リソース.rcの作成だけはVC++6.0を使っていているのですが、ダイアログにOCXを貼り付けてCTRL+TでテストするとそのOCXは正常に動く!だけに、これがwin32で使えないのはもったいないような気がしてしまうのです。 よろしくお願い致します。

  • VB6で作成したOCX(ActiveX)について

    お世話になります。 下記項目に対しての知識が無くて困っております。 VB6.0で作成したOCX(ActiveX)についてですが、VC++やVB以外のプログラム言語で使用できるのでしょうか? 今回はDelphiでの使用を検討しておりますが、環境が無い為試すことができません。 ご存知の方がいたら、ご教授お願いいたします。

  • VC++のOCXが、VBで登録できません

    ご教示願います。 VC++で、OCXの雛形を作成し(ウィザードにより作成) そのままビルド、カスタム処理の無いOCXを作りました。 そのOCXをVBで「コンポーネントの参照」をしようと思ったのですが 「ActiveXコンポーネントとして登録できない」とエラーが 出てしまいました。 その前に、色々と処理を書いたOCXを登録しようと思っても 同じエラーが出たため、コードが悪いのかと思い ためしに雛形の登録をしてみたのです。 なぜ登録できないのか、何か気づいた方が いらっしゃいましたら、教えて頂けますでしょうか。 ※この設定をしないといけない、等等・・。 宜しくお願い申し上げます。 バージョンは、どちらも6.0です。

  • OCXのライセンス

    Visual Basic 6.0 で、他人の作成したユーザOCXを使用しようとしているのですが、「実行時エラー429:このコンポーネントのライセンスが見つかりません。デザイン環境でこの機能を使うために必要なライセンスがありません。」と、エラーが表示されます。 現在、プロジェクトファイルのあるディレクトリに、OCXとLICファイルをおいているのですが…。 OCXの登録はされているはずなのですが、念のための登録確認方法と、ライセンス登録のための手順を教えていただけないでしょうか?

  • regsvr32でActiveX登録を行ったocx

    regsvr32 で ActiveX登録を行った ocx がリソースエデイタ「のActiveX コントロールの挿入」で使用できなくて困ってます。 開発環境は VisualStudio2005 の VC++ で、Version は 8.0.50727.867 になります。 レジストリエディタで確認すると以下のレジストリキーで登録されていることを確認できるのですが。 HKEY_CLASSES_ROOT\CLSID\{9BD4A8F2-56BA-11D3-915D-00C04F797034} 『ActiveX コントロール テスト コンテナ』の「コントロールの登録」ダイアログで表示される一覧中には含まれていません。 また、「コントロールの登録」ダイアログで「登録」ボタンを押しても一覧に追加も行われません なんとなくセキュリティっぽい事までは分かるのですが、どなたかヒントをお持ちでしょうか?

  • VB.NETでActiveX(OCXファイル)作成

    VB6のプロジェクトファイルで作成したOCXファイルがございます。これをVB.NETに移行したいの ですが、アップグレードウィザードを使用しても同様のOCXファイルは作成できますか? また、プロジェクトを新規作成する方法を教えていただけませんか? 宜しくお願い致します。

  • flash.ocxが見つかりません

    flash.ocxが見つかりません というメッセージが出ます。 スクリーンセイバーが出るタイミングで出ます。 いろいろな質問を見て、flash*.ocxで検索しても何も出ず、flash playerをアンインストールしたりしてもファイルができません。 adobeのサイトからflash player10をDLして試しているのですが…(11はエラーのため どうすればflash.ocxができるのか、どなたか教えてください。お願いします。

  • mscomct2.ocxをパソコンに導入するには?

    ACCESS2003 mscomct2.ocxを新しいパソコンに導入するには? windows7 home premium 32bit Access2003 パソコンを買い換えたため、以前使用していたACCESS2003で作ったmdbファイルを移動しました。 開こうとしましたがエラーが出て開かず(エラーの内容は忘れましたが、何かが足りないといった事だったと思います)、日付の入力にDTPickerを使用していたことに気付いてmscomct2.ocxをwindows\system32フォルダに入れました。 無事、起動は出来たのですが、フォームを開こうとすると「このコントロールにはオブジェクトがありません」というメッセージが現れて、配置したDTPickerが消えています。 フォームの ツール-ActiveXコントロール の利用可能なコントロールの中には入っておらず(当然^^;)、登録から mscomct2.ocx を選択すると「追加することはできませんでした。別のセットアッププログラムを使って追加してください。」と出ます。 そこで、Visual Basic の ツール-参照設定 を見てみますと 参照可能なライブラリファイルの中に Microsoft Windows Common Control-2 6.0(SP4) にチェックが入っています。 試しにと、一度チェックをはずしてACCESSを再起動してみると Microsoft Windows Common Control-2 6.0(SP4) が消えていてチェックを入れることも出来なくなりました。(でも、起動はします。) mscomct2.ocxを使えるようにするにはどのようにしたら良いのでしょうか? 以前、パソコンがクラッシュして再インストールしたときは mscomct2.ocx をsystem32に放り込んだだけで問題なかったような気がしたのですが・・・。7は少し違うのでしょうか? もし同様の経験のある方がいらっしゃいましたら是非ともご教示下さい。

専門家に質問してみよう