사용자가 입력을 놓친 경우 일부 정보를 수신하는 MainFrame의 왼쪽 구석에 오버레이 고정 위치 지정 윈도우 ("PopUp")를 표시해야하는 Windows 응용 프로그램에서 작업하고 있습니다. 또는 특정 작업이 성공적으로 수행 된 경우.C++ MFC 윈도우 (프레임) 조작
"PopUp"제목 표시 줄에는 제목 옆에 아이콘 (예 : -> 아이콘 < - "오류")과 표준 X- 닫기 버튼이 있어야합니다. ClientArea에는 발생한 Message에 대한 설명 텍스트가 있습니다.
이 또한 팝업의 표준 국경이
은 "팝업"하여 CWnd에서 파생 WS_VISLBE 만들어집니다 (기본 창 경계보다 작은) x 1 픽셀로 설정해야한다 | WS_CLIPSIBLINGS | WS_CHILD | 응용 프로그램 MainFrame 창의 OnCreate- 메서드에서 WS_CAPTION
이제 내 팝업의 기본 테두리를 설정/축소하고 아이콘을 PopUp의 제목 표시 줄에 추가해야합니다.
누군가 내 문제를 해결할 수있는 몇 가지 예제 코드를 제공 할 수 있습니까? 저는 C++과 MFC에 대한 새로운 연구를 통해 지금까지 제 연구가 나를 https://msdn.microsoft.com/en-us/library/windows/desktop/bb688195(v=vs.85).aspx 으로 데려왔지만 어디서 어떻게 DwmExtendFrameIntoClientArea()를 사용하는지 알지 못했습니다. 그러나 지금까지 Dwm이 할 수있는 방법이라고 생각했습니다. 두 문제를 해결하거나 또 다른/전혀 다른 방식으로 있습니까? 나는 올바른 길을 가고 있는가?
'WS_CHILD' 윈도우 스타일을 가진 윈도우는 자식 윈도우입니다. 하위 창은 팝업 창의 반대입니다 ([창 유형] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms632599.aspx#types) 참조). 그것은 당신이 정말로 원하는 것이 확실하지 않습니다. – IInspectable
그 WS_CHILD! = WS_POPUP thats 왜 항상 인용 부호로 그냥 이름이 아닌 스타일을 나타 내기 위해 넣어 ... 그 WS_CHILD 원인 ("팝업") 항상 안에 있어야합니다. MainFrame 창. 상태 표시 줄의 ButtonClick을 사용하여 열 수 있으며 기본 프레임 클라이언트 영역의 왼쪽 하단 영역을 오버레이합니다. 메인 프레임에 있지만 오버레이 된 부분은 모두 클릭 할 수 있습니다. 해당 창 ("팝업")의 경우 제목 표시 줄에 Icon이 있어야하고 기본 창 테두리가 왼쪽 하단에 있고 오른쪽이 1px –
으로 설정되어 있는지 확인하십시오. http://stackoverflow.com/questions/410720/can-i-change-the-thickness -of-the-border-of-a-window-with-mfc?rq = 1 OP는 내가하는 것과 같은 목적을 가지고 있지만 유감스럽게도 제공된 답은 힌트를 제공 할뿐 코드 샘플은 어디에서 시작해야하는지 알 수 있습니다. (내 목표를 보관하려면 WM_NCPAINT에서 어떤 멤버를 조작해야하는지 모르겠다.) –