Q&A

  • MDI Child 폼 최소화 시키기...
procedure TForm_Main.Menu_Window_MinimizeClick(Sender: TObject);
var  i : integer;
begin
     for i:= 0 to MDIChildCount - 1 do begin
          MDIChildren[i].WindowState := wsMinimized;
     end;
end;

이런식으로 하면 MDI Child 폼이 모두 최소화 되야 할거 같은데..

Child 폼이 2개 이상일 경우 꼭 하나가 최소화 안되구 남아 있네요..

이 방법이 틀린건가요? 다른 방법으로 해야되는지......

일단 최소화하는 for 루프문을 한번 더 써서 해결하긴 했지만..

다른 방법을 알고 싶네요..

고수님들의 조언 부탁드립니당..
2  COMMENTS
  • Profile
    박장용 2002.10.18 21:29
    -언뜻보면 무작위적으로 보이지만 규칙은
    Active Child화면이 항상 MDIChild[0]에 할당되고 나머지는 순서대로 밀리게 됩니다.

    -역시 최상위 Child가 icon화 될때 MDIChild는 다음 child화면이 active되므로 MDIChild[0]에 지정되게 되며 순서대로 밀립니다.

    - 결론은 님이 원하시는 건 MDIChild수만큼 MDIChildren[0]를 최소화 시켜주면 됩니다..

    그럼 즐코 하세요.. ^^

    procedure TformMyMemo1.N9Click(Sender: TObject);
    var  i : integer;
    begin
         for i:= 0 to MDIChildCount - 1 do
              MDIChildren[0].WindowState := wsMinimized;
    end;
  • Profile
    홍성락 2002.10.18 19:57
    downto로 해보세요.
    MDIChildren[i]의 인덱스 i는 고정적인게 아니라 수시로 바뀝니다.
    부모폼에 가장 선두일때만 인덱스가 0이며 서열을 바뀝니다.
    to로 0부터 한다면 0일때 정상대로 0번이 최소화되지만
    1이던게 0으로 바뀌는 순간 그놈은 최소화 될라도 for문은 1로 넘어가 기회상실이 됩니다.
    이때, 2이던 놈은 1로되서 최소화 되구요......

    hsr////////////////////////////////////////////////
    • 백진욱
    • 2002.10.19 01:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 백진욱
      2002.10.19 12:35
      뒤에 폼이 보이던 거는 visible을 사용해서 안보이게 했구요 그냥 여러번 인쇄시 access error 뜨는 거...
    • 이추형
      2002.10.19 00:51
      var   F: TextFile;   S: string; begin   if OpenDialog1.Execute th...
    • 쳐리
    • 2002.10.19 00:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안광호
      2002.10.19 18:26
      위의 명령은 Win95/98 계열의 운영체제에서 가능한 명령입니다. NT 계열은 위의 명령으로 Shutdown 이나...
    • 깨비
    • 2002.10.19 00:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.10.19 00:49
      MDI폼이 아니라면 폼의 Visible 속성값을 False로해보세요 MDI폼이면 ShowWindow(mform.Handle, SW_HIDE...
    • 최용일
      2002.10.19 01:39
      안녕하세요. 최용일입니다. C에서와 똑같이 그냥 넘기세요. 사용법두 씨와 같습니다. 델파이에서 모...
    • 이추형
      2002.10.19 00:47
      type // 메인 이벤트 PENTRec = ^TENTRec; TENTRec = record   CD: string; // 메인이벤트...
    • Delphi Kim
      2002.10.19 04:04
      예)   With Query1 Do   Begin     Cose;    ...
    • 이영동
    • 2002.10.18 23:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Delphi Kim
      2002.10.19 04:11
      "예전의 질답 게시판으로 가기"에서 Excel 로 검색해 보세요! 자세히 나온 예제도 있군요! 홧튕
    • 사슴
    • 2002.10.18 23:36
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이남호
    • 2002.10.18 23:21
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.10.19 01:04
      모달폼로 띄운다면 그 폼의 Visible 속성값을 False로해보세요 hsr////////////////////////////////////...
    • 이추형
      2002.10.19 00:44
      Project Options 에서 Auto-Create Form으로 등록이 되어 있다면 Available Form으로 이동시켜 주세요
    • 유창원
    • 2002.10.18 23:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 초보껄떡이
      2002.10.19 02:27
      저두 여기저기 검색해서 최근에 알았는데요... 검색한번 해보시면 제가 말씀드리는것 보다 더 훌륭한 답...
    • KDDG_ZZOM
      2002.10.18 23:05
    • 마니산
      2002.10.19 00:36
      SendMessage(Edit.Handle,WM_KEYDOWN,...) 핸들 구하는 방법은 압니다 그런데 반드시 WM_KEYDOWN와 WM_K...
    • 바다를향해
      2002.10.18 23:02
      그럼 이것을 써보시죠... procedure MyKeyDown(VirtualKey: Byte); begin   keybd_event(Virt...
    • 마니산
      2002.10.19 00:41
      답변 감사드립니다 이 방법은 원하는 프로그램의 에디트가 항상 활성화되어야 가능할텐데 제가 원하는 ...
    • KDDG_ZZOM
      2002.10.18 22:55
      자료실에 찾아보시면 예전에 제가 올린 자료있을겁니다... 쫌허접이지만... 제가했던건 다른 어플실행시켜...
    • 홍성락
      2002.10.18 22:37
      이렇게 해보세요 SendMessage(Edit1.Handle, WM_SETTEXT, 0, LParam(PChar('100000'))); hsr////////////...
    • 마니산
      2002.10.18 22:50
      다른 프로그램의 Edit콘트롤에 입력하는 건데 답변주신대로 해보니 안되는군요 WM_KEYDOWN와 WM_KEYUP Me...
    • • • •
    • 박준영
    • 2002.10.18 21:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.10.19 01:27
      200~500K 정도면 충분한데요 시스템이나 프로그램상에서 무언가 리소스를 줄여주어야 할것갔네요. 하여간 ...
    • 바다를향해
      2002.10.18 23:05
      Printers 유닛에 Printer가 있는데여.. Printer의 Canvas에 이미지파일을 Bitmap Canvas를 Assign하셔서 ...
    • 김해성
    • 2002.10.18 21:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 바다를향해
      2002.10.18 23:09
      ConnectionString에 셋팅되는 것들을 보면 ID하고 Pass를 셋팅 하게 되어 았습니다. 거기에 올바르게 써...
    • 한원희
      2002.10.18 21:16
      안녕하세요. 한원희입니다. 너무 어렵게 구현하신듯 하네요. 간단하게, 클릭한 위치의 노드를 구해서 ...
    • byun
      2002.10.18 22:56
      감사합니다.. 한원희님 그런데... 되지를 않습니다. 문제는요.. +서울시 +경기도 +전라도 ...
    • 김대훈
    • 2002.10.18 20:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 미소나눔
      2002.10.18 21:22
      MS-SQL 에서 작성한 SQL 문장 그대로 가져오셔서 SQL 속성에 그대로 넣어 사용하시면 됩니다. . . . SQ...
    • 홍성락
      2002.10.18 20:45
      Halt;를 써보세요 hsr///////////////////////////////////////
    • 박장용
      2002.10.18 20:26
      DPR파일 부분인거 같은데요.. MainF은 create하셨나요..? 아래 파일이 만약 풀소스라면 create되지 않은 ...
    • 수서니
      2002.10.18 20:43
        Application.Initialize;   Application.HelpFile := 'CSIS.HLP';   Ap...
    • 김종화
    • 2002.10.18 19:33
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박장용
      2002.10.18 21:29
      -언뜻보면 무작위적으로 보이지만 규칙은 Active Child화면이 항상 MDIChild[0]에 할당되고 나머지는 순...
    • 홍성락
      2002.10.18 19:57
      downto로 해보세요. MDIChildren[i]의 인덱스 i는 고정적인게 아니라 수시로 바뀝니다. 부모폼에 가장 선...