幅と高さが・・・

解決


U子  2005-11-13 02:08:56  No: 18660

procedure Tform1.Drop(var Msg: TWMDROPFILES);
var
  WinHnd: HWND; //ウィンドウのハンドル
  fn: array [0..MAX_PATH] of Char;
begin
  WinHnd := FindWindow('TForm1', nil);
  SetForegroundWindow(WinHnd);
  DragQueryFile(Msg.Drop, 0, fn, MAX_PATH);
  Image1.Picture.LoadFromFile(fn);

  Form1.Height := Image.Picture.Height;
  Form1.Width  := Image.Picture.Width;
  Form1.Constraints.MaxHeight := Image.Picture.Height;
  Forn1.Constraints.MaxWidth  := Image.Picture.Width;
end;

フォームにTImageをクライアントで貼り付け、D&Dしたファイルを表示する、というアプリです
ここで、最後の幅と高さを変える処理なんですが、最大の幅と高さを変える処理はうまくいってるのですが、
Formの幅と高さ(表示上の幅と高さ)を変えるところがうまく動いてくれません
もう少し具体的に言うと、
一度小さいサイズのファイルを読み込みます(正しくサイズ変更が行われる)
次に大きいサイズのファイルを読み込むと、小さいファイルを表示した際の大きさのままで表示されます
もう一度同じファイルを読み込むと、正しいサイズになって表示されます

理由と対処法を教えて下さい
宜しくお願いします


にしの  2005-11-13 02:23:41  No: 18661

MaxWidth,MaxHeightが以前の大きさで制限されています。
Width,Heightを指定する前に、MaxWidth,MaxHeightを指定してみてください。


U子  2005-11-13 02:33:03  No: 18662

できました〜♪
言われてみれば確かにその通りですよね^^;
本当に感謝です!
ありがとうございます!!


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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