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 구차니
개소리 왈왈2017. 8. 7. 09:03

가뜩이나 무거운 녀석이라 마음에 안드는데

이거 자동시작 안해두면,

뱅킹 들어갈때 마다 재설치 해야 하거나 수동으로 실행을 해야 한다.


전에는 자동으로 알아서 실행하고 죽더니

왜 이렇게 개뼉다구 같이 수정을 해둔거야?



'개소리 왈왈' 카테고리의 다른 글

개고기 '만' 앙대여?  (0) 2017.09.01
덕소 자연사박물관  (0) 2017.08.09
안녕 01410  (8) 2017.06.30
조현아 vs 탑  (0) 2017.06.09
19대 대선 유권자 수  (0) 2017.05.09
Posted by 구차니

그냥 뉴스를 보다 보니 피식 웃음이 나왔다.

대리전이냐?


미국은 중국을 견제/조지고 싶은데 방법이 크게 없고(손실이 없을)

그러니 애꿎은 남한/일본을 이용해서 북한을 견제하는 척 하면서

실질적으로 중국과 러시아를 죄려는 얕은 수


또 다시 이렇게 이용당하다가 또 분열에 이어 전쟁을 내고 싶은 걸까?


[링크 : http://v.media.daum.net/v/20170806202503153]

Posted by 구차니

에어컨이 이상이 생긴건 아닌거 같은데

바깥 온도가 36도 근접하니까

실내온도가 27도 이하로 떨어지질 못한다 -_-


날씨 왜이래 ㅠㅠ

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

도어 클로저 검색..  (0) 2017.08.13
멘탈 바바삭  (2) 2017.08.11
왕 피곤 주말  (0) 2017.07.22
사무실용 천장등 안정기 교체?  (0) 2017.07.04
능력이 좋으면 머하냐 인성이 개판인데?  (0) 2017.06.16
Posted by 구차니

흐에에에에?!?!

영월시 아니었어 -ㅁ-?

시내 한복판에서도 안터진다니!!! 이게 무슨소리요!!!


Posted by 구차니
Microsoft/Windows2017. 8. 3. 20:12

처갓댁 와서 컴퓨터 업데이트 하고 나니


어라 그림판 3d?


3d 뷰 라는 프로그램이랑 그림판 3d랑 연동 되는 듯?


'Microsoft > Windows' 카테고리의 다른 글

windows multipoint server  (0) 2017.09.22
cpu 사용량 제한하기(윈도우)  (0) 2017.08.24
윈도우 파일 공유 관련 레지스트리  (0) 2017.06.01
윈도우 metric 정책  (0) 2017.05.22
win8.1 이상한 네트워크 증식(?)문제  (0) 2017.05.22
Posted by 구차니

의외로 화질 괜찮은 듯

그리고 생각외로 흔들림이 없다? (주변이 밝아서 그런가?)


일단 문제(?)는

2014년 1월 1일 00:00 으로 전원 넣으면 시간이 가기 시작하니까..

그걸 바꿀(?) 방법이 전혀 없다는 거?

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 구차니