codeproject.com의 easysize 또는 sizecbar와 같은 다른 클래스를 사용하고 싶지 않습니다. MFC CDialogEx를 사용하고 있습니다. 나는 이것을 시도한다 :멋지게 cdialogex 크기 조정을 처리하는 방법?
LRESULT ChildDialog::OnNcHitTest(CPoint point)
{
// TODO: Add your message handler code here and/or call default
//UINT nHitTest = CWnd::OnNcHitTest(uParam, lParam);
//return (nHitTest == HTLEFT) ? HTNONE : nHitTest;
return CDialogEx::OnNcHitTest(point);
}
void ChildDialog::OnSizing(UINT fwSide, LPRECT pRect)
{
//
//TRACE("%d\n", fwSide);
if (fwSide == WMSZ_RIGHT)
{
SetClassLong(m_hWnd,
GCL_HCURSOR,
(LONG)LoadCursor(NULL, IDC_ARROW));
//ASSERT(FALSE);
//AfxMessageBox(_T("right"));
}
// TODO: Add your message handler code here
CDialogEx::OnSizing(fwSide, pRect);
}
내가 오른쪽의 대화 메시지 오른쪽을 클릭하면.
투수에서 볼 수 있듯이 나는 이렇게하려고합니다. 커서를 변경하고 검은 색 점선을 그립니다. 대화 상자의 크기를 한 쪽 위쪽으로 만 조정하고 모든 모서리와 왼쪽, 오른쪽, 아래쪽을 비활성화하려는 경우 그리고 또한 상단 측면에서 대화 상자의 크기를 조정할 때 상단 컨트롤을 이동하려고합니다.
나는 누군가가 나를 위해 모든이 작업을 수행하지 않습니다. 내가 어떻게 이걸 얻을 수 있는지 조언 해줘. 나는 depends.exe 소프트웨어에서이 투수를 가져 간다. 어떤 도움을 주셔서 감사합니다. 미리 감사드립니다.
Visual Studio를 사용하고 있습니까? IDE에서 크기 조정 대화 상자를 설정할 수 있습니다. 왜 바퀴를 재발견합니까? –
@AndrewTruckle 예 MFC를 사용하여 Visual Studio 2013을 사용하고 있습니다. –
대화 상자 크기 조정을 위해 IDE에서 네이티브 지원을 추가함에 따라 버전 2015 또는 2017 사용을 고려하십시오. 나는 이제 내가 의존했던 CSizingDialog 클래스를 완전히 제거했다. –