OCXの動的コントロール – プログラミング – Home

通知
すべてクリア

[解決済] OCXの動的コントロール


初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

OCXがインストールされていれば、そのコントロールを作成(CreateControl)していま
す。
が、そのOCX自体のイベントを使いたいのですが、
どのようにすればよいのでしょうか


引用未解決
トピックタグ
Kerry
 Kerry
(@Kerry)
ゲスト
結合: 20年前
投稿: 192
 

イベント シンク マップを書けばよいです。

class CXXXDialog : public CDialog
{
protected:
afx_msg BOOL OnXXXXX();
DECLARE_EVENTSNINK_MAP()
};

BEGIN_EVENTSINK_MAP(CXXXDialog, CDialog)
ON_EVENT(CXXXDialog, コントロールID, イベントのDISPID, OnXXXX, VTS_NONE)
END_EVENTSINK_MAP()

BOOL CXXXDialog::OnXXXX()
{
// TODO:
return TRUE;
}


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

返答ありがとうございます

ダイアログリソースにOCXコントロールを貼り付けていると、
OCXがインストールされていない場合に、
画面が表示されません。

CreateControl(クラスID, WS_VISIBLE, RECT, this, NULL);
でコントロールIDをNULLに指定しているのですが、
ON_EVENT(CXXXDialog, コントロールID, イベントのDISPID, OnXXXX, VTS_NONE)
でコントロールIDはどのように指定すればよいでしょう?


返信引用
Kerry
 Kerry
(@Kerry)
ゲスト
結合: 20年前
投稿: 192
 

> CreateControl(クラスID, WS_VISIBLE, RECT, this, NULL);
> でコントロールIDをNULLに指定しているのですが、

NULLではダメですね。
[表示]-[シンボルブラウザ]を使うかresource.hを直接編集するなりして、
他のコントロールと被らない一意なIDを追加し、それを指定しましょう。


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

イベントが飛んできました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました