• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ウインドウを常に前に、常にアクティブに、サイズコントロール可能で、親ウインドウから出ないようにしたいのですが・・・)

ウインドウを常に前に、常にアクティブに、サイズコントロール可能で、親ウインドウから出ないようにする方法

このQ&Aのポイント
  • BCB5で、PhotoShopの情報パレットのようなマウス位置などの情報を表示するパレットを作成する際に、以下の問題が発生しました。
  • 1. パレットが常にメインのウインドウよりも手前に表示されなければならない。
  • 2. メインウィンドウがアクティブになったりパレットがアクティブになったりした際に、タイトルバーの色が変わるため、見た目にうるさい。

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

BCB5のフォームを使った実装方法は(可能かどうかを含めて)わかりませんが WindowsAPIでの実現方法なら 1. 常にウインドウを手前に表示したいのなら CreateWindowExやSetWindowLongにおいて WS_EX_TOPMOSTの属性をウインドウにつければ良いだけです。 2. WinProcでWM_NCACTIVATEのとき0を返せばアクティブな状態を失う事はありません。 3. 実装方法は色々あります。例えば ユーザーの変更があったときInvalidateRectでも実行してWM_PAINT内部で描画します。 4.マウスを動かすとWM_MOUSEMOVEが届くのでそのとき ウインドウの位置をGetWindowRectで取得し はみださないように制御すれば良いです。

BombBomb
質問者

お礼

回答ありがとうございます。 なにぶん、プログラミング全般に関して初心者なもので Win32APIなどはまだ勉強していません。 しかし実現可能ならば、教えていただいた命令を勉強してみたいと思います。 ありがとうございました! 引き続き、BCB5のフォームを使った方法について 知っている方がいらっしゃいましたらよろしくお願いします!

BombBomb
質問者

補足

その後、回答がありませんので WinAPIについて詳しく勉強して実現させたいと思います。 どうもありがとうございました。

関連するQ&A