[MFC] (로그인) modal 창 관련

red9312의 이미지

안녕하십니까..

프로그래밍을 하고 있는 초보입니다....

현재 프로그래밍을 하던 중 막힌 부분이 있는데...

어떤 프로그램에서 로그인 후 -> 메인창으로 넘어갈때

메인창을 모달창으로 띄우면서

void CSpt3Dlg::OnBnClickedButtonLogin()
{
	ShowWindow(SW_HIDE);
	UpdateData(TRUE);
	CSpt3Main m_main1;
	m_main1.DoModal();
}

이런식으로 해서 뒤에 있는 창을 지우고 모달창만 남길려고 하니까

sw_hide를 사용하면 아예 아이콘이 사라지고

모달창에서 모달창이 꺼지면서 프로그램이 종료 되질 않더군요...

모달창에 닫기 버튼을 만들어서

void CSpt3Main::OnBnClickedButtonClose()
{
	ASSERT(AfxGetMainWnd() != NULL);
	AfxGetMainWnd()->SendMessage(WM_CLOSE);
}

이런식으로 하면 프로그램은 종료가 되는데 모달창은 안 꺼지고...

모달창의 오른쪽위의 x버튼으로 종료시 프로그램이 백그라운드에서 계속 실행이 되고 있더군요...

보통 이런걸 띄울때 모달이 아닌 다른 다이얼로그를 만들어서 부모 자식 관계를 만들어서 하는건가요... ?

배운게 모달밖에 없어서... 질문 드립니다...

모달창으로 하는경우
1. 로그인시 메인창(로그인창)은 꺼지고, 프로그램 아이콘은 밑에 상태표시줄에 남아 있게 할 수 있는... 방법이 있을까요..?

2. 모달창에서 종료 시(x)표로 종료시 백그라운드 프로그램까지 같이 종료 되는방법....

모달창이 아니라 다른방법으로 하는 경우...일 경우에는...

찾아보도록 하겠습니다..

뭐쪼록 부탁드립니다...

shint의 이미지

...

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

익명 사용자의 이미지

물론 원하시는 대로 하실 수도 있을 겁니다. 뭐 예컨대 이럴 수 있겠죠.

void CSpt3Dlg::OnBnClickedButtonLogin()
{
	ShowWindow(SW_HIDE); // 자기 자신을 숨겨 놓고
	UpdateData(TRUE);
	CSpt3Main m_main1;
	m_main1.DoModal();
	EndDialog(0); // 메인 Dialog가 종료된 직후에 자신도 종료됩니다.
}

하지만, 솔직히 말씀드려서, 누가 저더러 "메인 창이 있고, 메인 창에 접근하기 전에 로그인을 해야 하는 프로그램"을 디자인하라고 하면
로그인 창에서 모달로 메인 창을 띄우는 게 아니라, 메인 창이 시작할 때 로그인 창을 모달로 띄울 겁니다. OnInitDialog 쯤이 적절하겠죠. 그러면 로그인 창이 종료되기 전까지 메인 창이 뜨지 않을 테니까요.

익명 사용자의 이미지

도움 주셔서 감사합니다.

말씀하신대로 다시 한번 만들어 보도록 하겠습니다.

좋은 하루 되세요!

shint의 이미지

Code Project 코드 프로젝트 - pump 검색 결과
http://www.codeproject.com/search.aspx?q=pump&x=0&y=0&sbo=kw

이상하게도... KLDP 와 데브피아에 몇가지 질문이 코드프로젝트와 비슷하게 만들어지고 있네요.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.