【小技】変換されたデータベースでスプラッシュ画面の位置を調整する方法
【小技】変換されたデータベースでスプラッシュ画面の位置を調整する方法
デザインモードからアプリケーションモードに手動で切り替えると,カレントテーブル表示画面と同じ位置にアプリケーションプロセスのウインドウ(スプラッシュ画面)が表示されます。デザインモードのツールバーが非表示にされている場合,メニューバー直下にカレントテーブル表示画面を移動しておけば,アプリケーションモードでも引き続きメニューバー直下にスプラッシュ画面が表示されます。
現バージョンの4Dは,デザインモードのツールバーが非表示に設定されている場合でも,起動時に一瞬だけデザインモードのツールバーを表示しているようです。そのため,インタープリターまたはコンパイル済みで再起動した場合,カレントテーブル表示画面がツールバーの高さだけ下方に移動してします。
同様に,データベース設定 > 一般 > 起動時モードが「アプリケーション」に設定されている場合でも,デザインモードのカレントテーブル表示画面をツールバーの高さだけ下方に移動した位置にスプラッシュ画面が表示され,ちょうどツールバーの高さだけ「隙間」ができるような格好になります。
これを回避するためには,On Startupに下記のようなメソッドを記述することができます。
もっとも,これではデザインモードのツールバーを表示するように設定されている場合,アプリケーションモードからデザインモードに復帰すると,カレントテーブル表示画面がデザインモードのツールバーの裏側に少し隠れるような格好になるので,完璧な方法ではないかもしれません。
現バージョンの4Dは,デザインモードのツールバーが非表示に設定されている場合でも,起動時に一瞬だけデザインモードのツールバーを表示しているようです。そのため,インタープリターまたはコンパイル済みで再起動した場合,カレントテーブル表示画面がツールバーの高さだけ下方に移動してします。
同様に,データベース設定 > 一般 > 起動時モードが「アプリケーション」に設定されている場合でも,デザインモードのカレントテーブル表示画面をツールバーの高さだけ下方に移動した位置にスプラッシュ画面が表示され,ちょうどツールバーの高さだけ「隙間」ができるような格好になります。
これを回避するためには,On Startupに下記のようなメソッドを記述することができます。
- Code:
WINDOW LIST($windowIds)
For ($i;1;Size of array($windowIds))
$windowId:=$windowIds{$i}
If (1=Window process($windowId))
GET WINDOW RECT($left;$top;$right;$bottom;$windowId)
SET WINDOW RECT($left;$top-Tool bar height;$right;$bottom-Tool bar height;$windowId)
End if
End for
もっとも,これではデザインモードのツールバーを表示するように設定されている場合,アプリケーションモードからデザインモードに復帰すると,カレントテーブル表示画面がデザインモードのツールバーの裏側に少し隠れるような格好になるので,完璧な方法ではないかもしれません。
miyako- 投稿数 : 468
登録日 : 2016/07/05
Permissions in this forum:
返信投稿: 不可
|
|