プロが教える店舗&オフィスのセキュリティ対策術

Delphi 6でウィンドウサイズを変更(最大化)する方法で詰まっています。
直接WidthとHeightの値を指定する方法もあると思うのですが、画面の最大サイズが判っていないとならないため都度画面サイズを調べなければなりません。ウィンドウの最大化ボタンを押したときのように最大化する方法は無いのでしょうか。VC++にはあったのですが…
開発環境:WindowsXP、Delphi6 Personal

A 回答 (4件)

Form1.Width:=Screen.Width;


Form1.Height:=Screen.Height;
で大丈夫のはずです。
    • good
    • 0
この回答へのお礼

bob_nさん回答ありがとうございます。
Screenですか。こう言うオブジェクトがあったんですね。言われるとなるほど、なのですがなかなか気づきませんでした。
ちなみにwebで最大化をキーワードに調べると大抵「wsMaximized」が出てくるのですが、VC++のようにSendMessage()で最大化メッセージを送ることはできないのでしょうか?もしご存知でしたら教えてください。

お礼日時:2005/09/28 09:57

...\Borland\Delphi6\Source\Rtl\Win


にWindows.pasがあります。
ファイルから開くでWindows.pasを開けば出てくるので
検索で、Sendmessageをだせば、でてくるはずです。
ほかの、APIもだいたい、あるはずなので、同じように使えます。
screenだとタスクバーの分を引けるので、下の部分などが隠れなくなると思います。(経験談です)
    • good
    • 0
この回答へのお礼

おぉっ、確かにあります。
これならVC++での経験を活かせそうな気がします。
追加の質問にわざわざ回答していただいてありがとうございました。

お礼日時:2005/09/28 15:00

WindowStateではない方法なのですね、失礼しました。


SendMessage()はそのままずばり関数が用意されていますので

SendMessage(Form1.Handle, WM_****, パラメータ, パラメータ)

で利用できます。
特殊なメッセージでなければ特にメッセージ処理を追加・修正する必要もないでしょう。

※個人的に最大化動作後の期待しない動作っていうのが気になるw
    • good
    • 0
この回答へのお礼

こちらこそ本当に失礼しました。
SendMessage()の情報ありがとうございます。
※最大後の動作に関してはもしかしたら僕の勘違いかもしれませんが直接サイズ指定と動作が若干異なるように思えるのです。

お礼日時:2005/09/28 15:07

formのプロパティにある「WindowState」を、「wsMaximized」にすればまさしく最大化ボタン押下と同じ動作をします。



Form1.WindowState := wsMaximized;
    • good
    • 0
この回答へのお礼

galoonさん回答ありがとうございます。
wsMaxmizedはwebで調べて試しており最大化はするのですが、最大化後の動作がちょっと期待している動作と違っていたので方法からは外していました(この事は質問に書いておくべきでした、すみません)。

お礼日時:2005/09/28 09:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!