Delphi 7의 MDI 응용 프로그램에 대한 Windows 메뉴에서 Ctrl + F6 다음 창 동작을 구현하려면 어떻게해야합니까?Delphi MDI 응용 프로그램 다음 창 메뉴 항목
답변
MDI 부모 창의 다음 및 이전 방법을 사용하십시오. 메뉴 이벤트에서이 작업을 수행하고 다른 메뉴 항목처럼 단축키를 지정할 수 있습니다. 아래 코드에서 MDI 부모 폼은 TFormMDIParent이며, "Next Child"와 "Previous Child"라는 캡션이 붙은 두 개의 메뉴 항목을 만들고 IDE에서 생성 된 기본값으로 설정된 채로 있다고 가정합니다. 또한 기본 폼을 MDI 상위 (FormStyle = fsMDIForm)로 올바르게 설정했다고 가정합니다.
procedure TFormMDIParent.NextChild1Click(Sender: TObject);
begin
Self.Next;
end;
procedure TFormMDIParent.PreviousChild1Click(Sender: TObject);
begin
Self.Previous;
end;
켄 (Ken) 네가 대답 하긴하지만, 다음과 이전은 내가 생각하는 것과 반대 순서로 다음과 이전 창으로 작동한다. 4 개의 창을 열었을 때 열린 3 번째 창에서 Self.Next를 수행하면 다음 창은 4 번째 창이지만 실제로는 2 번째 창에 포커스가 있다고 생각합니다. 기본 제공 Ctrl + F6/Shift + Ctrl + F6 키를 사용하여 동일한 방식으로 작동합니다. –
흠 ... 나는 Mike를 알아 차리지 못했다. 그러나 나는 델파이에서 MDI 애플리케이션을 2 일 만에 끝낸다는 것을 쉽게 인정할 것이다. 그때 이후로 그들은 MS에 의해 사용되지 않았으며 어쨌든 나는 그다지 좋아하지 않았습니다. :-) 나는 Next/Previous의 해석은 내장 된 단축키가 (델파이가 아닌 다른 MDI 응용 프로그램에서도) 잘 작동하기 때문에 MS의 것임을 짐작할 수 있습니다. 사실, 나는 행동이 다양하다고 생각합니다. 포커싱 윈도우 3을 시도하고, 승리 1에서 마우스로 클릭하고, 승리 2를 클릭 한 후, 다음을 시도하십시오. 어디서 끝내 죠? –
아무 것도 할 필요가 없다고 생각합니다. MDI 앱에 암시 적이 어서 (어쨌든 델파이 2006의 새로운 MDI 앱 마법사로 생성되었습니다).
또한 원래 Delphi 6에서 만들어진 앱에서도 "그냥 작동합니다".
나는 그것이 작동한다는 것을 깨달았지만 몇몇 고객은 Ctrl + Tab/Ctrl + F6 또는 Ctrl + Shift + Tab/Ctrl + Shift + F6 바로 가기를 인식하지 못합니다. 키보드 단축키를 배우는 데 도움이되는 Windows 메뉴에서만 사용할 수 있습니다. –
메인 양식을 wm_SysCommand
메시지를 보냅니다. wParam 매개 변수는 sc_NextWindow
또는 sc_PrevWindow
을 사용하십시오.
불필요한 잔인 함, Rob. TCustomForm.Next와 TCustomForm.Previous는 동일한 것을 수행하고 메뉴 항목 OnClick 이벤트에 할당합니다 (원하는 바로 가기가있는 경우). –
존재하는 방법을 모르셨습니까? 그리고 나는 wm_SysCommand 문서가 TCustomForm.Next가 보내는 wm_MdiNext 메시지를 언급하지 않는다는 점에 실망했다. 이 고양이를 껍질을 벗기는 몇 가지 방법이 있습니다. –
항상 그렇듯이 몇 가지 방법이 있습니다. TCustomForm은 실제로 양식의 기본이 TForm 인 TCustomForm (델파이 1)이되기도 전에 실제로 Next/Previous를 구현했습니다. 나는 wm_MdiNext에 관한 문서가 없다고 의심하고있다. MS가 Delphi 2와 Win95에서 MDI를 사용하지 않기 때문이다. –
- 1. 창 관리 MDI 응용 프로그램
- 2. MDI 창을 창 메뉴 목록에 표시하지 않습니다.
- 3. 은 MDI 응용 프로그램
- 4. WPF의 MDI 응용 프로그램
- 5. 메뉴 항목 만들기 창 표시
- 6. 응용 프로그램 메뉴 항목 비활성화/활성화
- 7. Delphi MDI 응용 프로그램과 MDI Children의 제목 표시 줄
- 8. 다른 Delphi 응용 프로그램에 Delphi 창 삽입
- 9. Delphi Mdi 응용 프로그램의 부모 창에서 KeyDown 이벤트 사용
- 10. MFC MDI 응용 프로그램의 특정 창 계단식
- 11. 응용 프로그램 창 감지
- 12. Silverlight 프리즘 + MDI 창
- 13. Delphi 2007에서 응용 프로그램
- 14. MDI 응용 프로그램 최소화/복원 문제
- 15. 응용 프로그램 창
- 16. MDI 상위 메뉴 및 하위 메뉴
- 17. 디버그 창 응용 프로그램
- 18. 인터넷 응용 프로그램 또는 창 응용 프로그램?
- 19. Windows 양식의 메뉴 바로 가기 및 MDI
- 20. MDI 응용 프로그램의 부모 양식 가운데에있는 모달 창 열기
- 21. clickonce 설치 프로그램 - 추가 시작 메뉴 항목
- 22. 다중 GUI 스레드가있는 mdi 응용 프로그램
- 23. Delphi 응용 프로그램 해결 문제
- 24. Delphi XE의 테마 응용 프로그램
- 25. 모달 창 코코아 응용 프로그램
- 26. SDI와 MDI 간의 GUI 응용 프로그램 동작 전환
- 27. (Delphi 2009) idIRC, MDI 및 걸려있는 문제
- 28. WPF 응용 프로그램 창 비상 창 열기
- 29. MDI 창 목록에서 자식 제목 막대 텍스트를 업데이트하지 않습니다.
- 30. 프로그래밍 방식으로 응용 프로그램 메뉴 표시 (wp7)
음 ... 나는 내 대답에서 정확히 그 것을주었습니다. 그런 다음 "Windows 메뉴에서"원래 게시물에 추가했습니다. 다시 말하지만, 나는 이미 대답 해 주셨습니다. 내가 여기서 누락 된 것이 있습니까? –