TOP > Up > Today

Re: VBA にグラフィックスメソッドはありますか_?


Date:  Tue, 14 Mar 2006 01:12:24 +0900
From:  no@ann.co.jp
Subject:  [pasml 179868] Re: VBA にグラフィックスメソッドはありますか_?
To:  pasml@ann.co.jp
Message-Id:  <200603131612.k2DGCOn21510@ns.pas2.jp>
X-Mail-Count: 179868

お名前   : なな 困りごと掲示板から
URL      : 
質問URL: http://pasokoma.jp/?num=333784&ope=v
ツリー: http://pasokoma.jp/cgi/tree.cgi?num=333784
--
うーん、うーん。
やっぱり、それしかなさそうデスネ…(苦笑
結論は、「グラフィックメソッドはナイ」ですね…。
でそれに代替するものも、ナイと(^^;
ラインコントロールも、ナイと…(T^T;
APIでやれば&quot;一応出来る&quot;だろうなぁとは思ってました。
ただ、APIを使うのはやはり処理が面倒で…w
というより、避けて通れないウインドウやデバイスコンテキストのハンドルの取得で、
ともすれば編集中のEXCELがダウンする危険を伴う点があたしとしては気に入りませんで…。
と、いうことで。
では以下、結果のご報告です。
さくさくとAPIの方法を試してみましたっ♪(ぉぃ
「GDI32.dllのLineToとMoveToでフォームに直接描写する」という方法です。
ちょうどその参考URLで話されているような感じで作りました。
結論を言うととりあえず「線の描写」は成功しました!
ただし、その直線状にある(上にあるはずの)コントロールにまで&quot;線&quot;がベタぁーっ?!w
うぅ、こ…これは思いもよらなかったわっ…(汗
これは全コントロールの再描写を行わせる(具体的にはVisibleプロパティの
瞬間的オンオフしか手段が無いんですけどぉ…)ことで回避して…と思ったら、
今度は線をすべてクリアする術がない…うぅ、とにかく手間のかかる子だこと…。
これは空白文字列のラベルをフォームいっぱいに配置しておいて、
クリアしたいときにスペース文字を代入するか、一瞬サイズを変えてやることで
解決できそうでした。
他にも、VBAでは単位がすべて「ポイント」の固定という厭らしさだったり、
APIはすべてピクセルなのでそれを毎度ピクセル変換する手間があったり、
Screenオブジェクトがないので当然dpiが取得できず仕方なく96dpiで決め打ちさせられたり、
ハンドルの取得・開放あたりでやっぱり何度もEXCELを落っことしちゃったりと
散々な目に会いつつ…何とかテストプログラムは動きました。
いちおー、代替はAPIでなんとかなりそう…かな?
でもやっぱり手間がすごいヨ…
今作ったのは1つの線描写と1つのコントロールだけですが
これが大量の線と大量のコントロールとなると、コーディングもですが
マシンへの負担も相当な高負荷になってしまいそうです…。
お手軽なグラフィックメソッドがあればイチバンで
AutoRedrawやclsが出来るのってやっぱ便利なのね……
これを全部手動で制御しなきゃと思うと…あぁ眩暈が…(TーT;
あ、ほんとのイチバンはね、ラインコントロールがあればちょーラクだったの…w
別のコントロールにも被ったりしないしぃ…
でもそれも無さそうですし。
無いものを嘆いてても始まらないですね。APIで頑張ってみマス!w
通りすがりの者さん、ありがとうございましたー!
この質問はAPIの方法で解決とさせて頂いておきます。
でもラクな方法があったなら、皆様ぜひお書き添え下さいな〜
しばらくは見ておりますゆぇ♪
では、感謝のななでしたっ☆
--
== 掲示板URL: http://pasokoma.jp/ ==
   配信の停止: http://pasokoma.jp/taikai.shtml
   本メールマガジンへの返信はなさらないで下さい
== 投稿はパソコン困りごと掲示板でお願い致します ===
    


TOP > Up > Today