
BCB5で、PhotoShopの情報パレットのような
マウス位置などの情報を表示するパレットを作成しています。
前回、「フォームに自作のプロパティを作ることは可能でしょうか?」という質問で
中身の動作については実装できたのですが、
またそれ以外に問題がでてきました。
1.パレットが、常にメインのウインドウよりも手前になければならない。
2.メインがアクティブになったり、パレットがアクティブになったりすると、
タイトルバーの色が変わって見た目にうるさいので、なんとかしたい。
Photoshopでは、常に両方とも(タイトルバーが)アクティブの色になっているので、そのようにしたい。
3.パレットのサイズをユーザーが変更したときに、
パレットの中身のコンポーネントもその比率で拡大・縮小させたい。
4.ユーザーがパレットを移動させても、メインのウインドウから外にでないようにしたい。
メインウインドウの端まで来たら、そこで移動をストップさせたい。
以上です。
1に関しては、今現在、FormStyleプロパティで「fsStayOnTop」に指定していますが
他に何か方法がありますでしょうか?
1~4の全てでも、一つずつでもかまいませんので、
よろしければ教えてください。
よろしくおねがいします。
No.1ベストアンサー
- 回答日時:
BCB5のフォームを使った実装方法は(可能かどうかを含めて)わかりませんが
WindowsAPIでの実現方法なら
1.
常にウインドウを手前に表示したいのなら
CreateWindowExやSetWindowLongにおいて
WS_EX_TOPMOSTの属性をウインドウにつければ良いだけです。
2.
WinProcでWM_NCACTIVATEのとき0を返せばアクティブな状態を失う事はありません。
3.
実装方法は色々あります。例えば
ユーザーの変更があったときInvalidateRectでも実行してWM_PAINT内部で描画します。
4.マウスを動かすとWM_MOUSEMOVEが届くのでそのとき
ウインドウの位置をGetWindowRectで取得し
はみださないように制御すれば良いです。
回答ありがとうございます。
なにぶん、プログラミング全般に関して初心者なもので
Win32APIなどはまだ勉強していません。
しかし実現可能ならば、教えていただいた命令を勉強してみたいと思います。
ありがとうございました!
引き続き、BCB5のフォームを使った方法について
知っている方がいらっしゃいましたらよろしくお願いします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ウォッチ式の文字数制限について
-
eclipseのデバッグ中に変数の値...
-
Notepad++のコメントの色を変え...
-
ラベルの文字列の長さが変わっ...
-
C# DataGridView特定セルの入力...
-
三菱タッチパネル小数点以下表...
-
Vba テキストボックス文字を右...
-
複数のコンボボックスの項目の...
-
VBA:ユーザフォームのラベルの...
-
MATLABのグラフで軸目盛りのフ...
-
ラベルのスクロール(VB)
-
VBのリッチテキストについて
-
VisualStudioのプロパティが表...
-
ラベル内の文字(Caption)を縦...
-
VBAのRangeについて
-
ラベルの大きさを変えるには
-
ListViewでの行全体の選択
-
Win32 API エディットボックス...
-
VBSのMsgBoxで文字に色をつけたい
-
Excel VBA ユーザーフォーム内...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ウォッチ式の文字数制限について
-
eclipseのデバッグ中に変数の値...
-
Vba テキストボックス文字を右...
-
ラベルの文字列の長さが変わっ...
-
VisualStudioのプロパティが表...
-
三菱タッチパネル小数点以下表...
-
ExcelVBA EnableプロパティがF...
-
MATLABのグラフで軸目盛りのフ...
-
ラベルを表示したり非表示にし...
-
スプレッドシートの列名変更の...
-
Notepad++のコメントの色を変え...
-
ACCESSのラベル内データに下線...
-
VB6.0でテキストボックスの書式...
-
ラベル内の文字(Caption)を縦...
-
VB.NETでラベルの大きさってど...
-
ラベルのスクロール(VB)
-
C# DataGridView特定セルの入力...
-
VBSのMsgBoxで文字に色をつけたい
-
VB2005 TextBoxで高さを変更し...
-
VBAでMultiPageの色の設定方法は?
おすすめ情報