名前 題名 ▼ Mr.XRAYさん > ▼ ishimizuさん.こんにちは. > > > 大きくなりますね。これは、しかたがないのでしょうか? > > 解決策があるようでしたらお教えください。 > > しかたないと言うか,Windowsの仕様ですね. > 下のコードは「重ねて表示」の実行部ですが, > CascadeWindows関数は,NSDNによると元に戻ることになります. > http://msdn.microsoft.com/ja-jp/library/cc410624.aspx > > やるとすれば,この後に各ウィンドウの位置とサイズを希望の位置とサイズ > に設定しなおすことになると思います. > その設定の前に,現在のサイズ(位置は各フォームで少しずらすこと > になるので - 重ねて表示なので)をどこかに記憶しておくとか,ですね. > > procedure TSDISubForm.menuCascadeWindowClick(Sender: TObject); > var > WndHandleList : array of HWND; > i : Integer; > begin > SetLength(WndHandleList, Screen.FormCount); > for i:=0 to Screen.FormCount-1 do begin > WndHandleList[i] := Screen.Forms[i].Handle; > SetForegroundWindow(WndHandleList[i]); > end; > CascadeWindows(0, > 0,{MDITILE_SKIPDISABLED,} > nil, > Screen.FormCount, > Addr(WndHandleList[0])); > SetForegroundWindow(Handle); > end; GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link