C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[7028] Re:사용자 인터페이스 설계에 관한 조언을 듣고 싶습니다.
박지훈.임프 [cbuilder] 2131 읽음    2001-04-26 17:02
임펠리테리입니다.

MDI로 하겠다고 하셨으니, 화면 구성이라고 까지 할 게 없네요.
MDI는 너무나 폐쇄적인 UI라서, 프로그래머가 관여할 부분이 많지 않습니다.
사용자가 이렇게 저렇게 MDI 차일드들을 배치해버리면 끝이니까요.
그보다는.. 어케 MDI 차일드 폼들을 관리할 것인가가 더 중요하죠.

폼들을 동적으로 생성할 것이냐 정적으로 생성해놓을 것이냐가 중요한데, 디비 관련 프로그래밍이니 기본적으로 폼이 아주 많을 거라고 간주하죠.
그렇다면 동적으로 생성하는 편이 낫겠죠. 정적으로 생성할 경우 리소스를 많이 차지할테니까요.

이때 생성된 폼객체를 저장할 포인터는...
MDI 차일드 폼의 소스에 기본으로 있는 폼객체 포인터(예를 들어, 폼 클래스 이름이 TForm1일 경우 cpp 파일에 보시면 TForm1 *Form1; 이라는 선언이 있습니다.)를 활용하는 것이 좋겠군요.

한 폼에서 작업하다가 다른 폼을 띄워야 할 경우...
그 폼의 포인터를 검사하여 NULL이면 새로 생성하고, NULL이 아니면 활성화시켜서 화면에서 앞으로 나오게 하고. BringToFront() 이던가 함수를 쓰면 됩니다.
(MDI 차일드가 파괴될 때마다 그 포인터 값을 NULL로 설정하는 코드가 있어야겠죠.)

그럼 이만...


묵선 님이 쓰신 글 :
: 데이터베이스와 연동된 관리 프로그램의 사용자 인터페이스를 만들고 싶습니다.
: 제가 본 것들의 대부분이 SDI형태를 바탕으로 해서 다른 작을 하고 싶으면 새로운 폼을 뛰우는 형태로 작업하는 화면이 대부분이었습니다.
:
: 제가 하고 싶은 형태는 mdi형태로 작업형태가 달라지면 메인 폼 내부에서다른 화면으로 전환되도록 하고 싶습니다.
:
: 가능하다면 스크린 샷과 어떻게 하는지 화면 구성 방법론에 대한 간단한 설명을 듣고 싶습니다.
: 스크린 샷은 무리라고 보는데, 방법에 대한 간단한(?) 설명을 부탁드립니다.
:
: 읽어주셔서 감사합니다.
: 행복한 하루 되시길 바랍니다.

+ -

관련 글 리스트
7001 사용자 인터페이스 설계에 관한 조언을 듣고 싶습니다. 묵선 2000 2001/04/25
7028     Re:사용자 인터페이스 설계에 관한 조언을 듣고 싶습니다. 박지훈.임프 2131 2001/04/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.