ResizeBegin, ResizeEnd À̺¥Æ®

Longhorn SDK¿¡ º¸¸é System.Windows.Forms.Form Ŭ·¡½º¿¡´Â ResizeBegin À̺¥Æ®¿Í ResizeEnd À̺¥Æ®°¡ ÀÖ´Ù. À©µµ¿ì ¸®»çÀÌ¡À» ½ÃÀÛÇÏ°í ¸¶Ä¥ ¶§ °¢°¢ ¹ß»ýµÇ´Â À̺¥Æ® µéÀÌ´Ù. ´å³Ý ÇÁ·¡ÀÓ¿÷ 1.1¿¡´Â Æ÷ÇԵǾî ÀÖÁö ¾Ê´Ù. Win32 À©µµ¿ì ¸Þ½ÃÁö¿¡µµ ÀÌ¿Í °°Àº °ÍµéÀº ¾ø´Ù.

ÀÌ À̺¥Æ®(¸Þ½ÃÁö)µéÀº ºó¹øÇÏÁö´Â ¾ÊÁö¸¸ ²À ÇÊ¿äÇÑ °æ¿ì°¡ ÀÖ´Ù. ¿¹¸¦ µé¸é, À©µµ¿ì Ŭ¶óÀÌ¾ðÆ® ¿µ¿ªÀ» ±×¸®´Âµ¥ ³Ê¹« ¸¹Àº ½Ã°£ÀÌ µé¾î¼­ ¸®»ç¡ ÇÏ´Â µ¿¾È À©µµ¿ì ÄÁÅÙÆ®¸¦ ±×¸± ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ´Ù. ÀÌ·± °æ¿ì ¸®»ç¡ Áß¿¡´Â À©µµ¿ì ÄÁÅÙÆ®¸¦ ±×¸®Áö ¾Ê°Å³ª ȤÀº ´õ ºü¸¥(ÇÏÁö¸¸ ´ë·« ±×¸®´Â) ·£´õ¸µ ¹æ¹ýÀ» »ç¿ëÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ·± °æ¿ì µÎ À̺¥Æ®¿Í ¸®»çÀÌ¡ ÁßÀÎÁö ³ªÅ¸³»´Â Ç÷¡±× ¸â¹ö º¯¼ö¸¦ »ç¿ëÇØ ¼Õ½±°Ô ±¸ÇöÇØ ³¾ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¾Ïư ´ÙÀ½Àº MFC¸¦ »ç¿ëÇÏ¿© µÎ À̺¥Æ®¸¦ ±¸ÇöÇÑ °ÍÀÌ´Ù.

class MyWindow : public CWnd
{
...

private:
	bool _sizing;

public:
	bool sizing();

protected:
	// ¸®»çÀÌ¡ ½ÃÀ۽à ȣÃâ
	virtual void onBeginSizing();
	// ¸®»çÀÌ¡ Á¾·á½Ã È£Ãâ
	virtual void onEndSizing();

...
};

...
MyWindow::MyWindow()
{
...

	_sizing = false;

...
}

bool MyWindow::sizing()
{
	return _sizing;
}

void MyWindow::onBeginSizing()
{
	TRACE("onBeginSizing()
");
}

void MyWindow::onEndSizing()
{
	TRACE("onEndSizing()
");
}

void MyWindow::OnSizing(UINT fwSide, LPRECT pRect)
{
	CWnd::OnSizing(fwSide, pRect);

	if(!_sizing)
	{
		_sizing = true;
		onBeginSizing();
	}
}

void MyWindow::OnCaptureChanged(CWnd *pWnd)
{
	if(_sizing)
	{
		_sizing = false;
		onEndSizing();
	}

	CWnd::OnCaptureChanged(pWnd);
}

...

WM_SIZING°ú WM_CAPTURECHANGED À©µµ¿ì À̺¥Æ®¿Í Ç÷¡±× º¯¼ö(_sizing)À» »ç¿ëÇÏ¿© ¸®»çÀÌ¡ ½ÃÀÛ°ú ³¡ ½ÃÁ¡À» ÆÇ´ÜÇϰíÀÖ´Ù.

Äڵ带 º¸¸é ´À³¢°ÚÁö¸¸ ¾î°ÅÁö·Î ¸¶ÃçÁø ´À³¦À» Áö¿ï ¼ö ¾ø´Ù. »çÀÌ¡ ³¡ ½ÃÁ¡À» WM_CAPTURECHANGED ¸Þ½ÃÁö·Î ÆÇ´ÜÇÑ´Ù´Ï… -_-;

´õ ÁÁÀº ±¸ÇöÀÌ ÀÖÀ» µíÇÏ´Ù.

¾Ë°í °è½ÅºÐÀº ¼Ò°³ ºÎŹÇÕ´Ï´Ù.

2004-06-14 7:46 AM
permalink

Ä¿¸ÇÆ®¿Í Æ®·¢¹é rss (0)

Æ®·¢¹é ÁÖ¼Ò: http://codian.net/wp/archives/97/trackback/

Ä¿¸ÇÆ® ÀÛ¼º