0

MFC ベースの ActiveX コントロールを使用していますが、いくつかの重要な機能が動作しません。サイズイベントは決して呼び出されず、コントロールの境界線をクリックしたときにのみコントロールの内容が再描画されます (ActiveX テストコンテナー内)。

これは、ヘッダー ファイルの size-event のコードです。

public:
    afx_msg void OnPaint();

...そしてソースファイル内:

BEGIN_MESSAGE_MAP(CBeamConstruXCtrl, COleControl)
    ON_WM_SIZE()
    ON_WM_PAINT()
    ON_OLEVERB(AFX_IDS_VERB_PROPERTIES, OnProperties)
END_MESSAGE_MAP()

void MyCtrl::OnPaint()
{
   //this is never called also when I change the size of the control in test container
}

ここに何が欠けているのでしょうか?

編集: 明確化: OnSize() は OCX の初期化フェーズで 1 回呼び出されますが、コントロールのサイズを変更するときは決して呼び出されません。

4

1 に答える 1