ページ 11

描画領域の作成

Posted: 2005年10月07日(金) 23:37
by ゲスト
 ウィンドウ内で指定した領域を描画領域としたい場合にはチャイルドウィンドウを作成するのが良いのでしょうか?

 ペイントソフト等は(私の作りたいのはドロー系なのですが)描画領域と作業を指定するボタン等の領域はわかれているので、描画領域を作成したいのです。
 以前、使用していたDelphiではCanvasを使っていたので考えたこともありませんでした(JAVAではFrameでした)。いろんな物に使えると思うので最低限必要なもののアドバイスがいただけたらと思います。

Re:描画領域の作成

Posted: 2005年10月10日(月) 12:25
by BingoMan
いつもお世話になります。

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

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

こんな感じでどうでしょうか?

描画領域の作成

Posted: 2005年10月10日(月) 13:11
by EIJI
ログインして時間がたつとログアウトしてしまうのですね。ボーッとしてたらゲストになっていました。

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

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

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

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