VC6 でつくった OCX を VB6 のフォームに貼り付けると
白地に丸の画像が現れます。
これを変更するにはどうすればよいか教えてください。
私が、以前作ったものの、その部分を掲載します・・・
/////////////////////////////////////////////////////////////////////////////
// CCom1RasCtrl::OnDraw - 描画関数
void CCom1RasCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
// TODO: 以下のコードを描画用のコードに置き換えてください
// pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
// pdc->Ellipse(rcBounds);
CBitmap bitmap;
BITMAP bmp;
CRect rcWBounds;
CPictureHolder picHolder;
if ( !AmbientUserMode() ){
// デザイン時のOCXの表示
bitmap.LoadBitmap( IDB_COM1RAS );
bitmap.GetObject( sizeof( BITMAP ) , &bmp );
rcWBounds.left = 0;
rcWBounds.top = 0;
rcWBounds.right = bmp.bmWidth;
rcWBounds.bottom = bmp.bmHeight;
picHolder.CreateFromBitmap( ( HBITMAP )bitmap.m_hObject , NULL );
picHolder.Render( pdc , rcBounds , rcWBounds );
}
}
コントロールのOnDraw()の部分に、自作のBMPの画像を書いています。
変数や内容は多分解ると思いますが・・・
以上。
回答ありがとうございます。
岡田さんに投稿していただいたサンプルの
IDB_COM1RAS だけを自分で作成した BMPファイルの ID に
書換えてビルドしたところ、単なる白地に丸のデザインが、
作成した BMPファイルの表示に切り替わることを
確認できました。ありがとうございました。