[HTA]表示内容に合わせてウィンドウ縦方向自動伸縮
少し前からHTA(HTML Applications)に興味を持ち、いくつかツール開発をしていると、毎回表示内容に合わせてウィンドウサイズを調整するのが手間に感じていました。( ̄▽ ̄;) 自動的に調整してくれないかなぁと・・・。
・・・ということで、可能な限りシンプルにHTAの表示内容に合わせてウィンドウの縦方向を自動伸縮するように作ってみました。(  ̄▽ ̄)ノ
ちなみにHTAを一言で言うと、Webページを作る感覚でWindows用簡易アプリケーションが作成できるといったところでしょうか。詳しくはググッてください(笑)
Windows10で動作確認済みですが、他のWindows OSでの動作は未確認です。
・・・ということで、可能な限りシンプルにHTAの表示内容に合わせてウィンドウの縦方向を自動伸縮するように作ってみました。(  ̄▽ ̄)ノ
ちなみにHTAを一言で言うと、Webページを作る感覚でWindows用簡易アプリケーションが作成できるといったところでしょうか。詳しくはググッてください(笑)
Windows10で動作確認済みですが、他のWindows OSでの動作は未確認です。
HTAの表示内容に合わせてウィンドウ縦方向を自動伸縮するためのJavaScriptは下記の通りとなります。
・1行目のg_iniSizeは初期サイズで、縦方向のサイズはタイトルバーの高さと境界幅を足した高さ以上を指定。
・2行目のresizeToは、一度初期サイズでWindowサイズを確定。
・3行目のonloadは、ページ読み込み完了後に、初期サイズの高さにウィンドウサイズ確定後のスクロール領域を含めた表示内容差分を足してWindowサイズを再確定しています。
(また高さの上限値として600ピクセル、初期サイズより小さくならないように差分最小値を0としています)
以上。
また実際に動作するhtaファイルは次のURL先となります。(右クリックでダウンロードできるかと思います)
http://fjiblog.cocolog-nifty.com/hta/fji_auto_window_height.hta (別ウィンドウ表示)
1ファイルでモーダルダイアログを表示へ続く。
var g_iniSize = {cx:500, cy:100}; window.resizeTo(g_iniSize.cx, g_iniSize.cy); window.onload = function(){window.resizeTo(g_iniSize.cx, g_iniSize.cy + Math.min(600, Math.max(0, document.body.parentNode.scrollHeight - document.body.parentNode.clientHeight)));} |
・1行目のg_iniSizeは初期サイズで、縦方向のサイズはタイトルバーの高さと境界幅を足した高さ以上を指定。
・2行目のresizeToは、一度初期サイズでWindowサイズを確定。
・3行目のonloadは、ページ読み込み完了後に、初期サイズの高さにウィンドウサイズ確定後のスクロール領域を含めた表示内容差分を足してWindowサイズを再確定しています。
(また高さの上限値として600ピクセル、初期サイズより小さくならないように差分最小値を0としています)
以上。
また実際に動作するhtaファイルは次のURL先となります。(右クリックでダウンロードできるかと思います)
http://fjiblog.cocolog-nifty.com/hta/fji_auto_window_height.hta (別ウィンドウ表示)
1ファイルでモーダルダイアログを表示へ続く。
| 固定リンク
「プログラミング」カテゴリの記事
- [VBS] コマンドプロンプト非表示で引数付きバッチファイル実行(2024.11.12)
- [HTA]1ファイルでモーダルダイアログを表示(2016.08.22)
- [HTA]表示内容に合わせてウィンドウ縦方向自動伸縮(2016.08.11)
- [Web作成] アコーディオンメニュー(2012.07.04)
- [Web作成] メニューの展開と折りたたみ : すべて展開とすべて折りたたみ(2012.05.22)
「HTA」カテゴリの記事
- [HTA]1ファイルでモーダルダイアログを表示(2016.08.22)
- [HTA]表示内容に合わせてウィンドウ縦方向自動伸縮(2016.08.11)
コメント