폼 이름에 구분을 두시던지..
아니면 Tag에 구분을 두시던지 하시지요..
모 다른 좋은 방법도 있을 지 모르겠지만..
규칙을 발견해 나가는 것이 프로그램을..
간단하고 이해하기 쉽게 하는 것이 아닐지요..
Voice of Delphi, 류..
-----------------------------------------------
procedure TWF_main.B_buttonOnClick(Sender: TObject);
var
cnt : integer;
begin
For cnt := MDIChildCount -1 Downto 0 do
If MdiChildren[cnt].Tag = 1 then MdiChildren[cnt].Close;
end;
나상원 님이 쓰신 글 :
: 버튼이 두개가 있읍니다.
:
: B_button 은 win_01, win_02, win_03, win_04 의 4 개의 창을 닫으려고 하구요...
:
: A_button 은 win_20, win_21, win_22 의 3개의 창을 닫으려고 합니다.
:
: 제가 구현한 소스는
:
: procedure TWF_main.B_buttonOnClick(Sender: TObject);
: var
: cnt : integer;
: begin
:
: for cnt := MDIChildCount -1 Downto 0 do
: if MdiChildren[cnt].Name = 'win_01' then;
: win_01.Close
: else IF MdiChildren[cnt].Name = 'win_02' then
: win_02.close
: else IF MdiChildren[cnt].Name = 'win_03' then
: win_03.close
: else IF MdiChildren[cnt].Name = 'win_04' then
: win_04.close;
:
: end;
:
: end.
:
: 물론 A 버튼도 마찮가지 입니다. 위의 예는 창이 4개 밖에는 없는데.. 실제로는 무지 많거든요 물론 위처럼 해도 될것 같은데.. 소스가 길어져서요...
:
: 위의 소스를 어떻게 하면 간단 명료하게 줄일 수가 있을까요???
:
: 답변 바랍니다... 간단한것 같은데.. 잘모르겠네요... 후후후
: 오늘 첫눈이 왔읍니다. .. 즐거운 겨울이 되기를.....
:
|