« [Canvas]Windowサイズに合わせてCanvasをリサイズ | トップページ | [HTA]1ファイルでモーダルダイアログを表示 »

2016年8月11日 (木)

[HTA]表示内容に合わせてウィンドウ縦方向自動伸縮

少し前からHTA(HTML Applications)に興味を持ち、いくつかツール開発をしていると、毎回表示内容に合わせてウィンドウサイズを調整するのが手間に感じていました。( ̄▽ ̄;) 自動的に調整してくれないかなぁと・・・。
・・・ということで、可能な限りシンプルにHTAの表示内容に合わせてウィンドウの縦方向を自動伸縮するように作ってみました。(  ̄▽ ̄)ノ
ちなみにHTAを一言で言うと、Webページを作る感覚でWindows用簡易アプリケーションが作成できるといったところでしょうか。詳しくはググッてください(笑)


Windows10で動作確認済みですが、他のWindows OSでの動作は未確認です。
HTAの表示内容に合わせてウィンドウ縦方向を自動伸縮するためのJavaScriptは下記の通りとなります。
    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ファイルでモーダルダイアログを表示へ続く。

|

« [Canvas]Windowサイズに合わせてCanvasをリサイズ | トップページ | [HTA]1ファイルでモーダルダイアログを表示 »

プログラミング」カテゴリの記事

HTA」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: [HTA]表示内容に合わせてウィンドウ縦方向自動伸縮:

« [Canvas]Windowサイズに合わせてCanvasをリサイズ | トップページ | [HTA]1ファイルでモーダルダイアログを表示 »