「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:2428
現在:5


画面の最大化、最小化

ページOpenOffice.org FAQの登録ページ
投稿者もり
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2009-05-14 11:18:15 (木)
OS
依存するページウィンドウの最小化、最大化
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

お世話になります。

ウィンドウの最小化、最大化はOpenOfficeBASICでは どのように記述するのでしょうか? マクロの記録でサンプルコードを得ようとしましたが うまくいきませんでした。 ネットで調べてみても思うような検索結果が得られませんでした。 Excekマクロでは下記のように記述する処理です。 ご教示よろしくお願いいたします。

ActiveWindow.WindowState = xlMinimized
ActiveWindow.WindowState = xlMaximized

画面の最大化について

M.Kamataki (2009-05-14 11:43:53 (木))

以前、faq/4/801「フォームを開いた時に最大化にするには」で紹介したOOoForum.orgのページが、最大化については参考になるかもしれません。以下です。

"Maximize document Window "
http://www.oooforum.org/forum/viewtopic.php?t=8930

なお、ウインドウの最大化ボタンをクリックしたときの動作は、OS側の制御なのでOpenOffice.org Basicには機能がないのではと思います。調べきったわけではありませんが。

画面の最大化について2

M.Kamataki (2009-05-14 12:02:15 (木))

OOoForum.orgの他のページに、画面の最大化についてのサンプルがありました。動作の確認もできました。以下です。

"Delphi How to maximize Windows ?"
http://www.oooforum.org/forum/viewtopic.phtml?t=14908

Windowsの最大化と同じ動作になるサンプルコードは以下です。たぶん動作するのはWindowsのみ。

sub MaxWindow
   dim frame
   dim window
   dim handle
   
    frame  = StarDesktop.getActiveFrame()
    window = frame.getContainerWindow()
    handle = window.getWindowHandle(dimarray(), 1) ' 1=WIN32
    'msgbox handle
    ShowWindow( handle, 3 )
   
end sub

画面の最小化

M.Kamataki (2009-05-14 12:24:09 (木))

ShowWindow( handle, 3 )


ShowWindow( handle, 2 )

とすれば良いようです。

無題

もり (2009-05-14 12:43:46 (木))

ありがとうございます。

http://www.oooforum.org/forum/viewtopic.php?t=8930
ですが、稼動確認できましたが
これはフルスクリーンの表示処理ですので
今回私が作成したい処理とは少し違います。
調べて頂いたのに申し訳ありません。
ありがとうございます。

Kamatakiさんに頂いたサンプルコードを
実行してみたところ
ShowWindow( handle, 2 )
のステップで
「BASICランタイムエラー
 SubまたはFunction プロシージャーの未定義」
が表示されエラーになります。
handleの中身は、329578や、1443356で
実行する度に違う数値が入っていました。
何がおかしいのでしょうか?

先にご指摘いただいているように
ウインドウの最大化ボタンをクリックしたときの動作は
OS側の制御なのでOpenOffice.org Basicには制御が難しいのでしょうか?

無題

tani (2009-05-14 13:23:37 (木))

「BASICランタイムエラー
 SubまたはFunction プロシージャーの未定義」
はここでは「ShowWindow」っていうSubまたはFunctionが無いよっていう意味です。元の英語のフォーラムを見ると鎌瀧さんが示したコードの上に

Declare Function ShowWindow Lib "user32" _
   (ByVal lHwnd As Long, _
   ByVal lCmdShow As Long) As Boolean 

っていう定義が書いてありますので、それを「sub MaxWindow」の上にに付け足してやって試してみてください。(Windowsのライブラリを利用してるので、ちょっと嫌なコードですけどねー)

無題

もり (2009-05-14 13:43:15 (木))

ありがとうございます。

Declareの構文を追加してうまく動きました。
大変助かりました。

最小化

ShowWindow( handle, 2 )


最大化

ShowWindow( handle, 3 )


で作成できました。


今回はWindows上で稼動するので問題ないのですが
Windows以外の環境では動かないという動かないという事でしょうか?

いったん完了にします

M.Kamataki (2009-05-14 14:01:31 (木))

わたしが一部しか引用しなかったので、わかりにくくなってしまい、すみませんでした。

Windowsのライブラリを呼び出しているので、上記で紹介したコードはWindowsでしか動作しません。

もし、マルチプラットホームで動作するサンプルがあれば、どなたかご紹介ください。完了後の投稿もOKです。

無題

もり (2009-05-14 14:16:34 (木))

私の知識不足です。
申し訳ありませんでした。
今後とも、お教示のほどよろしくお願い申し上げます。

お名前:
題名: