つくったOCXを貼り付けたときの画像を変えるには?

解決


梅雨  2003-06-18 15:21:19  No: 51558  IP: [192.*.*.*]

VC6 でつくった OCX を VB6 のフォームに貼り付けると
白地に丸の画像が現れます。
これを変更するにはどうすればよいか教えてください。

編集 削除
岡田 之仁  2003-06-20 19:29:14  No: 51559  IP: [192.*.*.*]

私が、以前作ったものの、その部分を掲載します・・・

/////////////////////////////////////////////////////////////////////////////
// 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の画像を書いています。
変数や内容は多分解ると思いますが・・・

以上。

編集 削除
梅雨  2003-06-23 16:42:24  No: 51560  IP: [192.*.*.*]

回答ありがとうございます。

岡田さんに投稿していただいたサンプルの
IDB_COM1RAS だけを自分で作成した BMPファイルの ID に
書換えてビルドしたところ、単なる白地に丸のデザインが、
作成した BMPファイルの表示に切り替わることを
確認できました。ありがとうございました。

編集 削除