MFC ActiveX(OCX)の作成について – プログラミング – Home

通知
すべてクリア

[解決済] MFC ActiveX(OCX)の作成について


なおぞう
 なおぞう
(@なおぞう)
ゲスト
結合: 8年前
投稿: 143
Topic starter  

お世話になります。

開発環境Win7 VisualStudio2010 VC++ MFC でHtmlに載せるActiveX(OCX)を作成しています。

OCXの作成は初めてでして、ネットでいろいろ調べているのですがなかなか思うように表
示できません。(ブラウザはIE11です)
※ActiveXのデフォルトの円表示はできているので、HTMLへの組み込みは間違えていません。
OCXのサンプルも見つけられず、以下のようなコードを書いてみたのですがHTML画面は
真っ白になってしまいます。
何が悪いのか、ご指摘を戴けますようお願い致します。
JPGファイルを使うのでGDI+を利用する事にしました。

CMyTESTCtrl::CMyTESTCtrl() //コンストラクタでGDI+開始
{
  InitializeIIDs(&IID_DMyTEST, &IID_DMyTESTEvents);
  Gdiplus::GdiplusStartupInput input;
  Gdiplus::GdiplusStartup(&token,&input,NULL);
}

CMyTESTCtrl::~CMyTESTCtrl() //デストラクタでGDI+終了
{
  Gdiplus::GdiplusShutdown(token);//ISHII ADD
}

// OnDraw - 描画関数で、画像表示
void CMyTESTCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
if (!pdc)
return;

  // GDI+のGraphicsオブジェクトを用意して描画準備
HDC hdc = pdc->GetSafeHdc();
Gdiplus::Graphics graphics(hdc)

Gdiplus::Image image(L..\\test.JPG);
graphics.DrawImage( &image, 0, 0 );

}

また、他にもボタンやらラベルやら用意しなくてはならないのですが、どうしたら実現出
来るのか分からない状態です。VC++でのOCXのことが書いてある書籍やサンプルHPなどを
ご存知でしたら教えていただけると大変助かります。よろしくお願いします。


引用未解決
トピックタグ
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

https://msdn.microsoft.com/ja-jp/library/yc13as7d.aspx

これはどうかな?


返信引用
なおぞう
 なおぞう
(@なおぞう)
ゲスト
結合: 8年前
投稿: 143
Topic starter  

>ITOさま

いつもありがとうございます。
やっと、画像を表示する事ができました。(更に写真表示枠を作りその中にて画像の大き
さや位置を調整するという作業があるので先は長いです)

以下のコードで実現できました。

if (!pdc)
  return;

HDC hdc = pdc->GetSafeHdc();
Gdiplus::Graphics graphics(hdc);
Gdiplus::Image image(LC:\\tmp\\IMG.JPG);

int width = image.GetWidth();
int height = image.GetHeight();

Gdiplus::Bitmap offScreenBitmap(width, height);
Gdiplus::Graphics offScreen(&offScreenBitmap);

// 描画処理 ↓この書き方で画像のちらつきがなくなるみたいです
offScreen.DrawImage(&image , 0 , 0);
graphics.DrawImage(&offScreenBitmap, 0, 0);

これからもよろしくお願いします。


返信引用
なおぞう
 なおぞう
(@なおぞう)
ゲスト
結合: 8年前
投稿: 143
Topic starter  

クローズ忘れました。


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

>(更に写真表示枠を作りその中にて画像の大き
>さや位置を調整するという作業があるので先は長いです)
FormViewにして、picture controlを使えば枠等も楽かも知れません。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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