tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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 で検索して見て下さい。
>色々同じ事が書かれているようですが、私は、英語が皆目なので。

すみません、私も英語は苦手でして・・(^^;

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。