タイトル : Re^2: MSChartのちらつき防止 投稿日 : 2007/06/25(Mon) 22:13 投稿者 : シビセラ
花ちゃん様 > 気になったのでちょっと試して見ましたが、チラつくとかじゃなくて > AxMSChart1.EditCopy でクリップボードへコピーしたものが > クリックボードから取得できないと言う事ですよね。 気にして頂きありがとう御座います。 おっしゃる通りです。僕の説明が悪く二度手間をかけてすみません。 > 他のグラフィックソフトならクリップボードから読み込めるが > VB.NET から取得すると下記のようなエラーが表示されるという事ですよね はい、当初は表記して頂いたようにランタイムエラーが出力されていたのですが、 MSChart1のプロパティなどを変化させるとランタイムエラーではなくて フリーズしたりしました。 今は元に戻してもランタイムエラーに戻らなくなってしまったのですが・・ (以前との差分はないはずなのですが) > 下記を試したところペーストできました。 > http://dobon.net/vb/dotnet/graphics/getclipboardmetafile.html#meta 返答が遅くなってしまい申し訳ありません。 .net初心者で参考コードの 'Imports System.Runtime.InteropServices をそのままコメントアウトしていて <DllImport("user32.dll")> が宣言エラーになってしまったりで四苦八苦していました・・ 上記HPを参考にして修正したところピクチャーボックスに表示されました。 ただ、表示される画像がかなり縮小されてしまいます。 同じピクチャーボックスにメタファイルではなくて通常の画像データ(Bitmap??)を クリップボード経由で貼り付けた場合は縮小されない為、 ピクチャーボックスの設定ではないと考えています。 また、MSCharet1を拡大すると縮小されてはいるものの比例して大きくなります。 今さっきこの問題にぶつかったところなので、まだしっかり調べていませんが、 現在はピクチャーボックスのSizeプロパティをStrechimageにしてとりあえずの 対応をしています。 > 同じAPIを使うなら先の方法の方がいいかも。 前にアドバイス頂いたダブルバッファ作戦についてはご予想通り MSChartには効果はありませんでした。 >又、英語が読めるなら、 AxMSChart1.EditCopy で検索して見て下さい。 >色々同じ事が書かれているようですが、私は、英語が皆目なので。 すみません、私も英語は苦手でして・・(^^; |