Formの最大化表示の方法


YASU  2008-08-28 01:29:40  No: 31693

XP+D6パーソナル

BiMinimize=False、BiMaximize=falseにした状態でタスクバーが見えるようにFormを最大化したいのですがうまくいかないので教えてください。

BiMinimize=True、BiMaximize=True、WindowState=wsMazimizedでやればタスクバーが見える状態で最大化できますがMax、MinをFalseにしてしまうとタスクバーが隠れてしまいます。仕方ないので
form1.Width:=screen.Width;    form1.Height:=screen.Height-30;
form1.Top:=0;  form1.Left:=0;  (wsNormal)  として強制的にサイズと位置を合せていたのですがタスクバーを2段にすると下が欠けるという問題が出てきました。

BiMinimize=False、BiMaximize=falseにした状態でタスクバーが見えるようにFormを最大化する方法があれば教えてください。


KHE00221  2008-08-28 10:25:35  No: 31694

WindowState と BroderIcon をプロパティでは指定しないで

FormShow で行えば出来るかなと思う

procedure TForm7.FormShow(Sender: TObject);
begin
    WindowState := wsMaximized;
    BorderIcons := [biSystemMenu];
end;


恒例行事  2008-08-28 17:57:34  No: 31695

真琴:「OnShowイベントでサイズ変更するとエラー表示が出るよね? ハルコさん」
春子:「CreateWndなら大丈夫かな?」
真琴:「あと、↓コレだと9X系ではタスクバーが隠れちゃうの」
  WindowState := wsMaximized;
  BorderIcons := [biSystemMenu];

春子:「もしフォームのサイズを指定するなら DesktopのWorkAreaを取得しなくちゃ」
真琴:「じゃぁ、こうすればイイのかな?」

procedure TForm1.CreateWnd;
var
  Rect: TRect;
begin
  inherited;
  BorderIcons := [BiSystemMenu];
  SystemParametersInfo(SPI_GETWORKAREA, 0, @Rect, 0);
  Width := Rect.Right-Rect.Left;
  Height:= Rect.Bottom-Rect.Top;
  Top   := Rect.Top;
  Left  := Rect.Left;
end;

勝爺:「マコト、9月15日はナン曜日だ?」
真琴:「月曜日だヨ、ねぇ、おじいちゃん、8月31日の約束は大丈夫よね?」
勝爺:「約束? ハヅキさんをバーベキューに招待するのは、9月になってからだぞ」
真琴:「違うよ、勘違いしないで、おじいちゃん、ディズニーランドに行く約束よ」
勝爺:「あぁ、ソッチか、バンの調子もイイから大丈夫、問題なし」
春子:「ねぇ、マコト、話は変るけど、ユウコちゃんをナンとかしてくれない?」
真琴:「え? ユウコのグチが始まったの?」
春子:「うん、昨日も"渚"でズ〜ットため息とグチばっかり、恒例行事だけどね^^;」
真琴:「そうだと思ったから、ディズニーランドに行く約束したの、ユウコも一緒に」
春子:「じゃ、これでユウコちゃんのグチも収まるね、ハヅキさんも誘ったらどう?」
真琴:「ハヅキさんにクルマを押させるのは無理よ、心臓弱いから」
春子:「え? それどういうコト?」
真琴:「もしも、途中でバンがエンストした場合…」
春子:「そんなぁ…、じゃ、アタシもやめた、一緒に行こうと思ったンだけど」
真琴:「一緒に行こうよ、ハルコさん、クルマを押すにも人数多い方がイイし…^^;」


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加