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 ¸Þ½ÃÁö·Î ÆÇ´ÜÇÑ´Ù´Ï… -_-;
´õ ÁÁÀº ±¸ÇöÀÌ ÀÖÀ» µíÇÏ´Ù.
¾Ë°í °è½ÅºÐÀº ¼Ò°³ ºÎŹÇÕ´Ï´Ù.
permalink
