Programming/C Win32 MFC2017. 8. 7. 11:24

다이얼로그를 ShowWindow(SW_SHOW)를 통해 표시한 경우

이에 대한 상태를 받아 오려면 꽤나 귀찮아 지네..

간단하게 GetShowWindow()라던가 GetWindowStatus() 이런게 있으면 참 좋을텐데..


if (!IsWindowVisible(hWnd))

    swState = SW_HIDE;

else

if (IsIconic(hWnd))

    swState = SW_MINIMIZE;

else

if (IsZoomed(hWnd))

    swState = SW_MAXIMIZE;

else

{

    // not hidden, minimized or zoomed, so we are a normal visible window

    // last ShowWindow flag could have been SW_RESTORE, SW_SHOW, SW_SHOWNA, etc

    // no way to tell

    swState = SW_SHOW;

[링크 : https://stackoverflow.com/questions/28266448/get-the-last-showwindow-state-for-a-window-in-winapi]

[링크 : https://stackoverflow.com/questions/1432336/how-to-find-a-windows-sw-show-sw-hide-status]



+

귀찮으니 단순화 하기 ㅋㅋ

  if(pDlg)

{

if(pDlg->IsWindowVisible())

pDlg->ShowWindow(SW_HIDE);

else pDlg->ShowWindow(SW_SHOW);

}


Posted by 구차니
Programming/C Win32 MFC2017. 8. 7. 10:10

희한하게 Rich edit만 추가하면 빌드는 되는데 실행하면 깜깜 무소식인 문제가 있어서

확인을 해보니 DoModal() 에서 죽어버려서 미궁이 빠진적이...


아무튼 오늘 문득 생각이 나서 찾아보니

InitInstance() 에서

AfxInitRichEdit(); 

를 해주어야 문제없이 작동됨을 확인!


BOOL CtestApp::InitInstance()

{

// 응용 프로그램 매니페스트가 ComCtl32.dll 버전 6 이상을 사용하여 비주얼 스타일을

// 사용하도록 지정하는 경우, Windows XP 상에서 반드시 InitCommonControlsEx()가 필요합니다.

// InitCommonControlsEx()를 사용하지 않으면 창을 만들 수 없습니다.

INITCOMMONCONTROLSEX InitCtrls;

InitCtrls.dwSize = sizeof(InitCtrls);

// 응용 프로그램에서 사용할 모든 공용 컨트롤 클래스를 포함하도록

// 이 항목을 설정하십시오.

InitCtrls.dwICC = ICC_WIN95_CLASSES;

InitCommonControlsEx(&InitCtrls);


CWinApp::InitInstance();



AfxEnableControlContainer();

AfxInitRichEdit();


// 대화 상자에 셸 트리 뷰 또는

// 셸 목록 뷰 컨트롤이 포함되어 있는 경우 셸 관리자를 만듭니다.

CShellManager *pShellManager = new CShellManager;


// 표준 초기화

// 이들 기능을 사용하지 않고 최종 실행 파일의 크기를 줄이려면

// 아래에서 필요 없는 특정 초기화

// 루틴을 제거해야 합니다.

// 해당 설정이 저장된 레지스트리 키를 변경하십시오.

// TODO: 이 문자열을 회사 또는 조직의 이름과 같은

// 적절한 내용으로 수정해야 합니다.

SetRegistryKey(_T("로컬 응용 프로그램 마법사에서 생성된 응용 프로그램"));


CtestDlg dlg;

m_pMainWnd = &dlg;

INT_PTR nResponse = dlg.DoModal();

if (nResponse == IDOK)

{

// TODO: 여기에 [확인]을 클릭하여 대화 상자가 없어질 때 처리할

//  코드를 배치합니다.

}

else if (nResponse == IDCANCEL)

{

// TODO: 여기에 [취소]를 클릭하여 대화 상자가 없어질 때 처리할

//  코드를 배치합니다.

}


// 위에서 만든 셸 관리자를 삭제합니다.

if (pShellManager != NULL)

{

delete pShellManager;

}


// 대화 상자가 닫혔으므로 응용 프로그램의 메시지 펌프를 시작하지 않고  응용 프로그램을 끝낼 수 있도록 FALSE를

// 반환합니다.

return FALSE;

}

 



[링크 : http://ospace.tistory.com/171]

Posted by 구차니
Programming/C Win32 MFC2017. 8. 1. 14:55

쓸일이 있어서 해보는데.. 당연한 내용이겠지만...

포인터가 아니라 변수로 만들면 scope를 벗어 나면서 바로 해당 클래스가 파괴되면서 창이 닫힌다.

그런 이유로 new를 이용해서 생성을 해주어야 한다.


void CtestDlg::OnBnClickedButton12()

{

// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.

// CFileUploader dlg;

// dlg.Create(IDD_UPLOAD_DIALOG, this);

// dlg.ShowWindow(SW_SHOW);


CFileUploader *pDlg =  new CFileUploader();

if(pDlg)

{

pDlg->Create(IDD_UPLOAD_DIALOG);

pDlg->ShowWindow(SW_SHOW);

}


그나저나.. 그냥 저렇게 해두니 버튼 누를때 마다 창이 증식하네 ㅋㅋㅋ


[링크 : http://lapislazull.tistory.com/80]

[링크 : http://j07051.tistory.com/107]

[링크 : http://heart4u.co.kr/tblog/318]


+

2017.08.07

모달리스 child dialog와 부모 통신하기

[링크 : http://blog.daum.net/finalz84/173]

[링크 : http://blog.naver.com/xtelite/50022212767]

Posted by 구차니
Programming/C Win32 MFC2017. 8. 1. 14:31

테스트 프로그램 만드는데 분석 내용을

좀더 꾸며서 해보겠다는 욕심으로

모양만 만들때 richedit을 넣어서 했더니

MFC 다이얼로그가 안뜬다 -ㅁ-?


먼가 해서 하나씩 뒤져보니

메인 다이얼로그를 doModal() 할때 죽어 버리는데

혹시나 해서 기존 버전들과 비교를 해보니 richedit이 하나 추가된게 발견!

설마하고 rc 파일에서 해당 내용만 삭제하니 문제없이 실행!


뭐야 -_-???

VS2010 버그인가?

'Programming > C Win32 MFC' 카테고리의 다른 글

MFC 다이얼로그 rich edit 사용하기  (0) 2017.08.07
MFC 모달리스(modaless) 다이얼로그  (0) 2017.08.01
MFC 다이얼로그 - 탭  (0) 2017.07.21
MFC 다중문서 / 단일문서  (0) 2017.07.21
MFC 다이얼로그 숨기기  (0) 2017.07.13
Posted by 구차니
Programming/php2017. 7. 24. 18:48

return과 달리 exit()는 함수에서 호출해도 작동을 중지시킨다.



[링크 : http://www.w3im.com/ko/php/func_misc_exit.html]

'Programming > php' 카테고리의 다른 글

php 개발환경  (10) 2018.05.03
PHP session_start(): Cannot send session cookie 경고 해결방법  (0) 2017.07.23
php 명령줄 실행에 post / get 인자 넘기기  (0) 2017.07.23
캐시 제어  (0) 2017.07.23
php session_destroy  (0) 2017.06.10
Posted by 구차니
Programming/php2017. 7. 23. 10:07

요런 에러가 발생해서 찾아보니..

PHP Warning:  session_start(): Cannot send session cookie - headers already sent by (output started at /home/pi/web/login_form.php:5) in /home/pi/web/login_form.php on line 11

PHP Stack trace:

PHP   1. {main}() /home/pi/web/login_form.php:0

PHP   2. session_start() /home/pi/web/login_form.php:11 


해결하려면 session_start()를 가장 위로 올리면 된다.

  1 <?php

  2         session_start();

  3 ?>

  4 <html>

  5 <head>

  6 <script src="./jquery-3.1.1.min.js"></script>

  7 </head>

  8 <?php

  9         include('./func_db.php');

 10

 11 //      session_start(); 


[링크 : https://stackoverflow.com/.../warning-session-start-cannot-send-session-cookie-headers-already-sent-by]

'Programming > php' 카테고리의 다른 글

php 개발환경  (10) 2018.05.03
php exit()  (0) 2017.07.24
php 명령줄 실행에 post / get 인자 넘기기  (0) 2017.07.23
캐시 제어  (0) 2017.07.23
php session_destroy  (0) 2017.06.10
Posted by 구차니
Programming/php2017. 7. 23. 09:46

이런식으로 하니 header 교체 할 수 없다고 에러가 나네.. 머가 잘못된걸까 ㅠㅠ

아무튼 디버깅용으로 이렇게 명령줄에서 post 날릴수 있으니 편하긴 하다


$ echo "loginid=user&loginpw=pass" | REQUEST_METHOD=POST php login.php


이렇게 해도 되긴하네?

$ php login.php "loginid=user&loginpw=pass"


[링크 : https://stackoverflow.com/.../how-to-pass-parameters-from-command-line-to-post-in-php-script]

[링크 : https://alvinalexander.com/php/php-read-command-line-arguments-in-php]

'Programming > php' 카테고리의 다른 글

php exit()  (0) 2017.07.24
PHP session_start(): Cannot send session cookie 경고 해결방법  (0) 2017.07.23
캐시 제어  (0) 2017.07.23
php session_destroy  (0) 2017.06.10
sql injection 방어  (0) 2017.04.26
Posted by 구차니
Programming/php2017. 7. 23. 09:26

PHP

로그인 예제를 자기 자신으로 돌아오게 해놨더니 안되서

이걸 적용해보았지만 여전히 안되네..


강제로 자기 자신을 refresh하게 해야하려나?

[링크 : http://civan.tistory.com/201]

'Programming > php' 카테고리의 다른 글

PHP session_start(): Cannot send session cookie 경고 해결방법  (0) 2017.07.23
php 명령줄 실행에 post / get 인자 넘기기  (0) 2017.07.23
php session_destroy  (0) 2017.06.10
sql injection 방어  (0) 2017.04.26
망할 php define()  (0) 2017.04.25
Posted by 구차니
Programming/C Win32 MFC2017. 7. 21. 18:46

직접 구현을 해본적이 없어서 신기해서 조사


[링크 : http://jaiyun.tistory.com/5]

Posted by 구차니
Programming/C Win32 MFC2017. 7. 21. 18:42

항상 다이얼로그로만 짜봐서

한번 다른 방법도 해봐야지..


예전에 영상처리 프로그램 학교에서 배울때 MDI로 짠적은 있는데

그냥 책보고 따라친 수준이라 다시 봐야 할듯.. 기억도 안남 ㅠㅠ


[링크 : http://blog.naver.com/chaose21c/150133862259]

[링크 : http://nenunena.tistory.com/66]

[링크 : http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=534]

'Programming > C Win32 MFC' 카테고리의 다른 글

MFC에서 richedit 때문에 실행이 안돼?  (0) 2017.08.01
MFC 다이얼로그 - 탭  (0) 2017.07.21
MFC 다이얼로그 숨기기  (0) 2017.07.13
2차원 배열에 대한 포인터  (0) 2017.06.21
slider control / settic  (0) 2017.06.12
Posted by 구차니