3

プロパティメニューの高さ= 246と幅= 462(単位は指定されていません)に従って、既存のチャートを表示するユーザーフォームに画像があります。グラフの .GIF が保存され、ユーザーフォームの画像にロードされたときにサイズが一致するように、グラフのサイズを変更したいと考えています。チャートのプロパティで寸法を変更できますが、インチのオプションしかありません。これらの寸法を一致させるにはどうすればよいですか?

4

3 に答える 3

2

画像コントロールを使用してグラフを表示する場合は、要件に従ってユーザーフォームに合わせて画像コントロールのサイズを変更し、画像コントロールの「PictureSizeMode」プロパティを「fmPictureSizeModeStretch」に設定します。

于 2012-01-10T17:41:45.123 に答える
1

探している変換係数は 72 です。グラフのサイズを (画像 ctl の高さ / 72) インチ x (画像の ctl 幅 / 72) インチに変更します。あなたの場合、3.42 x 6.42 インチになります。これをクリップ モードの Image ctl にロードすると、完全に収まります。PictureAlignment を使用して画像を画像の中央に配置することを選択した場合、クリップとストレッチの間を行ったり来たりしても揺れはほとんどありません。

チャートを画像に取り込むには、次の 3 つの方法があります。

1) サイズ変更されたチャートをシートに CopyPicture してクリップボードに取得し、フォーム エディターでデザイン タイムに画像 ctl を選択し、[プロパティ] ウィンドウで画像 ctl の画像プロパティを選択して貼り付けます。

2)サイズ変更されたチャートをjpgとして保存し(bmpとして保存することもできますが、ファイルサイズが大きくなります)、次を使用してファイルからチャートをImage ctlにロードできます。

myImageCtl.picture = loadPicture("C:\whatever")

3) 最初にファイルに保存する代わりに、サイズ変更されたチャートのピクチャをシートに保持し、そこからイメージ ctl に挿入する場合は、チャートをコピーしてシートに貼り付けることができます。ピクチャを元のチャート (他のシートにある可能性があります) のライブ更新コピーにしたい場合は、PastePicture を使用してシートに戻します。新しく貼り付けた画像を選択し、名前ボックス (左上隅) にその名前 (myResizedChart) を入力して、Return キーを押します。

http://www.oaltd.co.ukから modPastePicture をダウンロードしてインストールします (OLE オートメーションへの参照を設定します)。

次に、コードで次のように言うことができます:(元のCopyPictureが「Format Picture」であると仮定します)

shapes("myResizedChart").CopyPicture
myImage.picture = pastePicture

最後に、画像 ctl の透明なプロパティが必要でない限り、画像の代わりにフレームを使用して画像をフォームに表示することには多くの利点があります。

于 2012-01-11T17:41:22.920 に答える