제목과 같이
처음 생성한 각 컴퍼넌트들의 리사이징을 한결과
문제없이 되었습니다.
그런데
다시 처음 생성한 컴퍼넌트를 Free 하고
다시 생성후 Resize를 하면 에러가 발생합니다.
무엇이 원인일 까요
고수님들의 조언 좀................
참고로 제가 사용한 리사이즈 소스입니다.
전역 함수
.....
private
hOldFont, hFont: hFont;
OH, OW: Longint;
Xs: array[1..40] of Longint;
Ys: array[1..40] of Longint;
Ws: array[1..40] of Longint;
Hs: array[1..40] of Longint;
...
procedure TMyForm.FormResize(Sender: TObject);
var i: integer;
c: TControl;
begin
hFont := CreateFont(ClientHeight div 25, ClientWidth div 90, 0, 0,
FW_BOLD, 0, 0, 0, 1, OUT_DEVICE_PRECIS, 0,
PROOF_QUALITY, FF_DONTCARE, 'Arial');
hOldFont := Font.Handle;
Font.Handle := hFont;
DeleteObject(hOldFont);
for i := 0 to ComponentCount - 1 do begin
if Components[i] is TControl then begin
c := TControl(Components[i]);
c.Left := Xs[i] * Longint(ClientWidth) div OW;
c.Top := Ys[i] * Longint(ClientHeight) div OH;
c.Width := Ws[i] * Longint(ClientWidth) div OW;
c.Height := Hs[i] * Longint(ClientHeight) div OH;
end;
end;
end;
여기가지 입니다.