描画領域の作成

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
ゲスト

描画領域の作成

#1 投稿記事 by ゲスト »

 ウィンドウ内で指定した領域を描画領域としたい場合にはチャイルドウィンドウを作成するのが良いのでしょうか?

 ペイントソフト等は(私の作りたいのはドロー系なのですが)描画領域と作業を指定するボタン等の領域はわかれているので、描画領域を作成したいのです。
 以前、使用していたDelphiではCanvasを使っていたので考えたこともありませんでした(JAVAではFrameでした)。いろんな物に使えると思うので最低限必要なもののアドバイスがいただけたらと思います。
BingoMan
記事: 36
登録日時: 2005年7月17日(日) 09:36
お住まい: 千葉県松戸市

Re:描画領域の作成

#2 投稿記事 by BingoMan »

いつもお世話になります。

InvalidateRgn関数を使ってみるのはいかがでしょうか。

■全体の流れ■
1.起動時にCreateRectRgn関数などで描画領域の形のリージョンを作る
2.更新する時にInvalidateRgn関数で再描画メッセージを送り、更新領域に描画する
3.終了時に1で作ったリ-ジョンをDeleteObject関数で破棄する

こんな感じでどうでしょうか?
EIJI
記事: 25
登録日時: 2005年9月17日(土) 13:15
お住まい: 香川

描画領域の作成

#3 投稿記事 by EIJI »

ログインして時間がたつとログアウトしてしまうのですね。ボーッとしてたらゲストになっていました。

ありがとうございます、BingoManさん。
リージョンですか、思いつきませんでした。リージョンについての知識がないので、これから調べてみます。

私は、子ウィンドウを作る方向で考えていました。
ActiveBasicFan の"ウィンドウ in ウィンドウ"を使って子ウィンドウを作ってみました。

http://abfan.active.client.jp/012.html

子ウィンドウの 識別名:"CWnd1",背景:色指定(白),スタイル:ポップアップ,枠無し,可視,タイプ:通常ウィンドウ で作成時に子ウィンドウの表示位置と大きさの指定をします(親ウィンドウのサイズ変更などには対応していません)。
こちらのアドバイスもよろしくお願いします。
返信する