ウィンドウサイズ変更グリッパー ― 2008年01月25日 23:52

プログラマ向けの話題です。
サイズ変更グリッパーというのは、ウィンドウの右下にある、サイズ変更のためにドラッグできる一角のことです(上図)。
サイズボックスというのが正式名称なのかな。
これは、スクロールバーに SBS_SIZEBOX スタイル(ウィンドウスタイル)を設定することにより作成できます。
また、ステータスバーに SBARS_SIZEGRIP スタイル(ステータスバースタイル)を設定すると、グリッパー付きのステータスバーになります。
今まで後者の方法しか知らなくて、サイズ変更グリッパーを付けるために、無意味にステータスバーを追加したりしていました。
何かしらのステータスが表示されるわけなので、まったく意味がないわけではありませんが、不要なところは削ってしまった方がすっきりします。
というわけで、次バージョンではいくつかのダイアログからステータスバーを削除する予定です。
前者の方法に気付いたのは、WTL
http://sourceforge.net/projects/wtl
の、CDialogResize のソースコードを見ていたときです。
これは、ダイアログの大きさを変更したときに、コントロールの位置や大きさを調節するためのクラスです。
ちなみに、RH1FFT では WTL を使っていません。MFC をスタティックリンクしています。
CDialogResize 相当の処理も、自前で行っています。
改めてファイル選択ダイアログなどを Spy++
http://msdn2.microsoft.com/en-us/library/aa264396(VS.60).aspx
で見てみると、確かにスクロールバーですね。
もっと早く気付いていれば良かったんですが。
サイズ変更グリッパーというのは、ウィンドウの右下にある、サイズ変更のためにドラッグできる一角のことです(上図)。
サイズボックスというのが正式名称なのかな。
これは、スクロールバーに SBS_SIZEBOX スタイル(ウィンドウスタイル)を設定することにより作成できます。
また、ステータスバーに SBARS_SIZEGRIP スタイル(ステータスバースタイル)を設定すると、グリッパー付きのステータスバーになります。
今まで後者の方法しか知らなくて、サイズ変更グリッパーを付けるために、無意味にステータスバーを追加したりしていました。
何かしらのステータスが表示されるわけなので、まったく意味がないわけではありませんが、不要なところは削ってしまった方がすっきりします。
というわけで、次バージョンではいくつかのダイアログからステータスバーを削除する予定です。
前者の方法に気付いたのは、WTL
http://sourceforge.net/projects/wtl
の、CDialogResize のソースコードを見ていたときです。
これは、ダイアログの大きさを変更したときに、コントロールの位置や大きさを調節するためのクラスです。
ちなみに、RH1FFT では WTL を使っていません。MFC をスタティックリンクしています。
CDialogResize 相当の処理も、自前で行っています。
改めてファイル選択ダイアログなどを Spy++
http://msdn2.microsoft.com/en-us/library/aa264396(VS.60).aspx
で見てみると、確かにスクロールバーですね。
もっと早く気付いていれば良かったんですが。
コメント
トラックバック
このエントリのトラックバックURL: http://cessna373.asablo.jp/blog/2008/01/25/2579161/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。