掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
COMサーバの表示サイズを変更するには? (ID:57597)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
昔作ったソースを見て・・・ ※ MFCのCOMとして作成したはずで、ATL COMでは なかったはず。あくまで参考ということで・・・ クラスのコンストラクタで、SetInitialSize( 32 , 32 ); とすれば、大きさを指定できます。 また、表示される正方形ですが、ビットマップイメージを貼り付けたければ OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid) で、 CBitmap bitmap; BITMAP bmp; CRect rcWBounds; CPictureHolder picHolder; if ( !AmbientUserMode() ){ // デザイン時のOCXの表示 bitmap.LoadBitmap( IDB_COM1UTIL ); 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 ); } とすれば、ビットマップを貼り付けられます。 ただしこの場合、デザインモード時のみ表示させ、実行時は非表示に していますので、AmbientUserMode()でモードの確認をしています。 フォーム上でその貼り付けたコントロールの属性を指定したければ、 PreCreateWindow(CREATESTRUCT& cs) で、 cs.lpszClass = _T("STATIC"); return COleControl::PreCreateWindow(cs); として指定しています。 あくまで参考・・・ ※ この手の情報、いろいろ書籍も探しましたが、なかなか見つからなく 苦労したのを思い出しました。頑張って下さい。 以上。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.