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 回呼び出されますが、コントロールのサイズを変更するときは決して呼び出されません。