タイトル : Re^3: VB.Netで作成したコントロールをVB6.0で使用したい 投稿日 : 2016/12/27(Tue) 09:51 投稿者 : 魔界の仮面弁士
> フォームに貼り付けられるならコンポーネントでも、参照設定でもかまいません。 参照設定だけだとデザイン時の表示や設定は行えませんが、 実行時に表示させることならば、下記の手法で実現可能です。 (案1) VB6 の PictureClip コントロールや LoadPicture 関数のように、 Picture オブジェクト(stdole.IPictureDisp)を返却するメソッド/プロパティを用意する。 例1:Microsoft.VisualBasic.Compatibility.VB6.Support.ImageToIPicture メソッド 例2:System.Windows.Forms.AxHost.GetIPictureDispFromPicture メソッド 例3:クリップボード転送 (案2) VB.NET から VB6 の PictureBox や Form に直接描画するために、 Graphics.FromHdc/Graphics.FromHwnd メソッドを利用する。 ※AutoRedraw = True の場合、描画完了後に Refresh メソッドの呼び出しが必要 (案3) Graphics クラスを使った描画機能をカプセル化した DLL を用意し、 それを VB6 から参照設定して利用する。 ※あるいはカプセル化せず、直接 GDI+ の Flat API を Declare しても良い |