splitter윈도우크기를 고정하려면

Category:
Author: zemna
Date: April 17, 2021
Share this:

splitter윈도우크기를 고정하려면

+ 스플리터 윈도우의 크기를 고정하려면

스플리터 윈도우에서 크기 변경이 안되도록 하려면 우선 스플릿바의 행동

양식에서 그 방법을 찾을 수 있습니다. 스플릿바는 WM_MOUSEMOVE,

WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK 메시지가

넘어 올 때 크기를 조정하도록 설계돼 있습니다. 그러므로 마우스가 스플릿바

위에 오면 마우스 커서가 변하게 되고 스플릿바 위에서 마우스를 누르면

그때부터 크기를 변경할 수 있게 됩니다. 그리고 눌렀던 마우스를 놓으면 크기

변경을 완료되는 거죠. 따라서 이 네 가지 메시지가 넘어올 때 아무 일도 하지

않도록 하면 됩니다. 즉, 메시지 핸들러를 아무 일도 하지 않도록 작성해 주면

처음 정해진 크기로 고정됩니다. 마우스가 스플릿바 위로 가도 커서가 변하지

않는 것은 물론이고 스플릿바 위를 클릭해도 크기가 조정되지 않습니다. 다음

코드를 참고하세요.

헤더 파일

class CFixedSplitterWnd : public CSplitterWnd {

//. . .

protected:

//{{AFX_MSG(CFixedSplitterWnd)

afx_msg void OnMouseMove(UINT nFlags, CPoint point);

afx_msg void OnLButtonDown(UINT nFlags, CPoint point);

afx_msg void OnLButtonUp(UINT nFlags, CPoint point);

afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

소스 파일

//. . .

BEGIN_MESSAGE_MAP(CFixedSplitterWnd, CSplitterWnd)

//{{AFX_MSG_MAP(CFixedSplitterWnd)

ON_WM_MOUSEMOVE()

ON_WM_LBUTTONDOWN()

ON_WM_LBUTTONUP()

ON_WM_LBUTTONDBLCLK()

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

//////////////////////////////////////////////////////////////////////

//CFixedSplitterWnd message handlers

void CFixedSplitterWnd::OnMouseMove(UINT nFlags, CPoint point) {

// TODO:

// 기본적으로 정의된 함수는 CSplitterWnd::OnMOuseMove(nFlag, point)이다.

CWnd::OnMouseMove(nFlags, point); // 아무 일도 하지 않는다.

}

void CFixedSplitterWnd::OnLButtonDown(UINT nFlags, CPoint point) {

// TODO:

CWnd::OnLButtonDown(nFlags, point);

}

void CFixedSplitterWnd::OnLButtonUp(UINT nFlags, CPoint point) {

// TODO:

CWnd::OnLButtonUp(nFlags, point);

}

void CFixedSplitterWnd::OnLButtonDblClk(UINT nFlags, CPoint point) {

// TODO:

CWnd::OnLButtonDblClk(nFlags, point);

}

Share this:

Leave a Reply

Your email address will not be published. Required fields are marked *

Let's connect and create
something awesome together!
2023 - Copyright, All Rights Reserved, Made by ZEMNA.NET with ❤️
crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram