우어~~vb에 익숙해 있어서 이거 원 햇갈리기도 많이 하네염 ㅠ
키가 눌렸을때 프로그램의 캡션을 바꾸는 예제를 만들어 보고 싶어서 갖은 삽질 했는데요 .. ;
여튼
CMainFrame에서 SetWindowText함수를 호출 해야 할거같은데..
View에 포커스가 있는 상태에서 키입력 해봐야 메인프레임으로는 메세지가 전달 안되니까 함수를
만들어 놔도 어짜피 안되구욤..
그래서 View에서 처리하자니.. CMainFrame의 실체가 있을텐데. 요게 뭔지 모르니 hWnd도 얻을 수 없고..
해서
stdAfx.cpp 에
HWND mfhWnd;
선언하고
stdAfx.h 에
extern HWND mfhWnd;
이래서 전역변수 설정한다음에
CMainFrame에서
OnCreate 하단에 return 하기 전에 mfhWnd = m_hWnd; 이래서 현재 객체의 핸들 저장하고
View에서 함수에서
::SetWindowText(mfhWnd,\"안녕!\"); 하니까 간신히 되긴 했는데요 ㅠ;
이방법 맞는지.. 무슨 캡션 하나 바꾸는데 이리 힘듭니까ㅠㅠ
그리구 프로그램이 실행되자마자 바뀌려면 또 이방법 그대로에 View에서 OnCreate에서 처리해줘야 하는겁니까;;
이방법 뭔가 복잡하고 이상한거 같은데 정답점 ㅠㅠ
키가 눌렸을때 프로그램의 캡션을 바꾸는 예제를 만들어 보고 싶어서 갖은 삽질 했는데요 .. ;
여튼
CMainFrame에서 SetWindowText함수를 호출 해야 할거같은데..
View에 포커스가 있는 상태에서 키입력 해봐야 메인프레임으로는 메세지가 전달 안되니까 함수를
만들어 놔도 어짜피 안되구욤..
그래서 View에서 처리하자니.. CMainFrame의 실체가 있을텐데. 요게 뭔지 모르니 hWnd도 얻을 수 없고..
해서
stdAfx.cpp 에
HWND mfhWnd;
선언하고
stdAfx.h 에
extern HWND mfhWnd;
이래서 전역변수 설정한다음에
CMainFrame에서
OnCreate 하단에 return 하기 전에 mfhWnd = m_hWnd; 이래서 현재 객체의 핸들 저장하고
View에서 함수에서
::SetWindowText(mfhWnd,\"안녕!\"); 하니까 간신히 되긴 했는데요 ㅠ;
이방법 맞는지.. 무슨 캡션 하나 바꾸는데 이리 힘듭니까ㅠㅠ
그리구 프로그램이 실행되자마자 바뀌려면 또 이방법 그대로에 View에서 OnCreate에서 처리해줘야 하는겁니까;;
이방법 뭔가 복잡하고 이상한거 같은데 정답점 ㅠㅠ
흠... View의 OnCreate에서 바꿔줘도 그대로넹...........
더러운 헝가리언 노테이션
전단지 mainframe 의 약자 mf를 쓴거 뿐입니다
WIN32의 진정한 RAD 툴은 델파이 뿐입니다.
질문이랑 전혀 쓸데업슨ㄴ 답변만 하는 실력도 좆도 없는 쓰레기 새끼입니까 아님 제 질문에 답변할 가치를 못 느끼는 고수님이십니까
Document / View 구조에서 MainFrame, Document, View 들은 서로의 객체를 레퍼런스 할 수 있는 방법(메소드)이 있다. 책 찾아봐.(Visual C++ 바이블 눈깔책 초반에 나옴) 난 요즘 다이얼로그 베이스로만 해서 기억안남.
우걱지사 // 델파이를 만든 횽이 만든 c#은?
MFC에서 메인프레임 핸들 구하고 싶으면, CWinApp에서 답을 구해보삼.. 전역 변수는 어플리케이션 클래스 하나로 족함.
어플리케이션 클래스 구하는 방법은... MFC의 전역함수 중에 있음.. Afx어쩌고 하는 함수.. 그건 MSDN에서 찾아보삼
그나저나 올림픽 대표 골을 넣으려는 건지 말려는 건지.. 거기서 왜 골을 못넣어! 몇번째야..