1 °³¿ä
3D ¸®¼Ò½º ÆÄÀÏ °ü¸®¿ë ÅøÀ» ºô´õ·Î ¸¸µé¾î º¸ÀÚ...
2 ÀÚÀßÇÑ ÆÁ
2.1 X ÆÄÀÏ ÀÐÀ» ¶§ CWD ó¸®
X ÆÄÀÏÀ» ÀÐÀ» ¶§´Â CWD(Current Working Directory)¸¦ ±× ÆÄÀÏÀÌ Á¸ÀçÇÏ´Â µð·ºÅ丮·Î º¯°æÇÏÀÚ. CWD°¡ ´Ù¸¥ µð·ºÅ丮ÀÎ °æ¿ì ÅØ½ºÃĸ¦ ¸ø ÀоîµéÀÌ´Â °æ¿ì°¡ ÀÖ´Ù. TOpenDialog¸¦ »ç¿ëÇÏ´Â °æ¿ì, CWD°¡ ÀÚµ¿À¸·Î º¯°æµÇ±â´Â ÇÏÁö¸¸, ½º½º·Î º¯°æÇØÁÖ´Â ½À°üÀ» µéÀÌ´Â °ÍÀÌ ÁÁ´Ù.
2.2 À©µµ¿ì Ŭ¶óÀÌ¾ðÆ® ¿µ¿ª ó¸®
D3D µð¹ÙÀ̽º »ý¼º½Ã ½ÇÁ¦ µð½ºÇ÷¹ÀÌ¿¡ »ç¿ëÇÒ À©µµ¿ìÀÇ ÇÚµéÀ» ³Ñ±â°Ô µÈ´Ù. ¹®Á¦´Â ¸ÞÀÎÆûÀÇ ÇÚµéÀ» ³Ñ±â°Ô µÇ´Â °æ¿ì, Åø¹Ù µîÀ» Ãß°¡ÇßÀ» ¶§, Ŭ¶óÀÌ¾ðÆ® ¿µ¿ªÀÌ °¡·ÁÁö°Ô µÈ´Ù´Â Á¡ÀÌ´Ù. À̸¦ ÇØ°áÇϱâ À§Çؼ´Â ¸ÞÀÎÆû À§¿¡´Ù ÆÐ³ÎÀ» Çϳª Ãß°¡Çϰí, ÀÌ ÆÐ³ÎÀÇ À©µµ¿ì ÇÚµéÀ» ³Ñ±â¸é µÈ´Ù.
ÇÏÁö¸¸ À̰ɷΠ¿ÏÀüÈ÷ ÇØ°áµÈ °ÍÀÌ ¾Æ´Ï´Ù. ÆÐ³ÎÀº ¸¶¿ì½º ¸Þ½ÃÁö¸¦ Àâ¾Æ¸Ô´Â´Ù. ÆÐ³ÎÀÇ Enabled ¼Ó¼ºÀ» false·Î ÇÏ¸é ¸ÞÀÎÆû¿¡ ¸Þ½ÃÁö°¡ ³Ñ¾î¿À°Ô µÇÁö¸¸, ´ë½Å ÆÐ³Î¿¡ µå·Ó´Ù¿î ±â´ÉÀ» ±¸ÇöÇÒ ¼ö°¡ ¾ø´Ù. -_- ´Ù½Ã À̸¦ ÇØ°áÇϱâ À§Çؼ´Â ¼ºêŬ·¡½ÌÀ» ÇØ¾ßÇÑ´Ù. Áï ´ÙÀ½°ú °°Àº Äڵ带...
TWndMethod OriginalMethod;
MESSAGE void __fastcall TMainForm::HandleCamera(TMessage &Message)
{
switch (Message.Msg)
{
case WM_MOUSEMOVE:
case WM_LBUTTONDOWN:
case WM_LBUTTONUP:
...
case WM_MOUSEWHEEL:
// Ä«¸Þ¶ó ó¸®!
m_pCamera->HandleMessages(DrawPanel->Handle,
Message.Msg, Message.WParam, Message.LParam);
break;
default:
OriginalMethod(Message);
break;
}
}
void __fastcall TMainForm::FormShow(TObject *Sender)
{
if (m_bFirstTime)
{
OriginalMethod = DrawPanel->WindowProc;
DrawPanel->WindowProc = HandleCamera;
m_bFirstTime = false;
}
}
3 ¸µÅ©
4 ´Ù¿î·Îµå
SeriousMoin v1 (koMoinMoin 1.0a4 Modified)