« 探し物は何ですか | メイン | オリエンタルラジオ »
2005年05月08日
VisualC#でスクロール
VisualC#で、画面がスクロールするプログラムを書こうと思っていたが、
H/VScrollBarコントロール以外にも、Panelコントロールを知る。
要はフォームの中にPanelを置いて、その中に他にもの(画像でも他のコントロールでも)を置ける、というもので、中のものが大きいと勝手にスクロールバーをつけてくれる(ように設定することができる:AutoScrollプロパティ)というもの。
やりたいのは、CADの画面で、全体の作図領域の一部分を画面に表示するときにスクロールバーをつけたい、ということなんだけど、これだと結局作図領域全体の画像データを持たないといけないわけで、結局現実的ではないことに気づく。orz
投稿者 akita : 2005年05月08日 21:06
トラックバック
このエントリーのトラックバックURL:
http://akita11.jp/mt/mt-tb.cgi/97
コメント
Google Maps のようにうまく行けば良いんですが、対象をサイズに応じて分割したら大変なことになっちゃいますね、難しいですね。拡大率とかに応じて描画の精度を荒くするとかしか高速化の方法はないんでしょうか。
投稿者 Thor : 2005年05月09日 10:30
ええ、拡大率に応じて精度を荒くするのが現実的なんですが、かなり拡大したときに、細かいところまで描画する必要があるので、全体をbmpで持つのは現実的ではないんですよね。部分領域ごとに持つか・・・めんどいな。
投稿者 あきた : 2005年05月09日 12:20
ベクターでデータを保持できないんですか?
投稿者 macyu : 2005年05月09日 13:08
内部ではもちろんベクター形式で保持しているんですが、画面描画のときに、bmpというかビットマップにしないといけない(というか空のビットマップを持って、そこに描画する)ですよね。
この空のビットマップがでかすぎる、という話です。
投稿者 あきた : 2005年05月09日 13:20