ActiveXにおけるコントロール貼り付け時のBitmap表示について – プログラミング – Home

ActiveXにおけるコントロール貼り...
 
通知
すべてクリア

[解決済] ActiveXにおけるコントロール貼り付け時のBitmap表示について


ゆき
 ゆき
(@ゆき)
ゲスト
結合: 22年前
投稿: 25
Topic starter  

ゆきと申します。

VC++ 6.0を使用して、ActiveXを作成していますが、VB上で、作成した
OCX(コントロール)をフォームに貼り付けると、貼り付けたコントロールの
ビットマップが画面に表示されません。
以下のようにしていますが、何故でしょうか?
誰か、教えて頂けませんでしょうか?

void CxxxCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
CBitmap bitmap

bitmap.LoadBitmap(IDB_CTRLBITMAP);

BITMAP bim;
bitmap.GetBitmap(&bim);

CDC dcImg;

if (!dcImg.CreateCompatibleDC(pdc))
return;

CBitmap* pOBitmap = dcImg.SelectObject(&bitmap);

pdc->BitBlt(0, 0, bim.bmWidth, bim.bmHeight, &dcImg, 0, 0, SRCCOPY);
dcImage.SelectObject(pOBitmap);
}

OSは、Win2000です。
IDB_CTRLBITMAPは、リソース上でのビットマップで、32×32です。
ツールバー上のコントロールは表示されます。
pdc->FillRectなどで、塗りつぶしを行うと表示されます。

それでは、宜しくお願いします。


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 600
 

VC++超初心者会議室 に全く同じ投稿がありました。
マルチポストはマナー違反です。

# 発言される前に「使用上の注意」を必ずお読み下さい。
# http://rararahp.cool.ne.jp/cgi-bin/lng/lng.htm


返信引用
...
 ...
(@...)
ゲスト
結合: 22年前
投稿: 113
 

> dcImage.SelectObject(pOBitmap);

dcImg.SelectObject(pOBitmap);

だと思いますが、ActiveX ControlWizardで作成したプロジェクトに
上記ソースのみ記述して作ってみたらVB上でフォームに貼り付けても
正しく表示されました。
ActiveX Test コンテナでもうまく表示されませんか?

これだけの部分のプロジェクトを一度作成して試してみてはどうでしょう。

私が良くやるのがVBに貼り付けてVBを終了しないままビルドして
OCX作成に失敗してたり。
>リンク中...
>LINK : fatal error LNK1104: ファイル Debug/ActXXXX.ocx を開けません。

試した環境は
OS Win2000
VS SP5です。


返信引用
ゆき
 ゆき
(@ゆき)
ゲスト
結合: 22年前
投稿: 25
Topic starter  

> dcImage.SelectObject(pOBitmap);

dcImg.SelectObject(pOBitmap);

の間違いでした。すいません。

もう一度、プロジェクトを作成し直して、実行してみたら、うまく表示されました。

ありがとうごじました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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