19-4-5.À̺¥Æ® º¸±â

À̺¥Æ®´Â Á¤È®ÇÑ ¹ß»ý ½ÃÁ¡°ú ¼ø¼­¸¦ ¾Æ´Â °ÍÀÌ Áß¿äÇÏ´Ù. °ø½Ä ¹®¼­¸¦ ÅëÇؼ­µµ À̺¥Æ®¿¡ ´ëÇÑ »ó¼¼ÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖÁö¸¸ ´õ »ý»ýÇÑ Á¤º¸´Â Æû¿¡ ¹ß»ýÇÏ´Â À̺¥Æ®¸¦ Á÷Á¢ µé¿©´Ù º¸´Â °ÍÀÌ´Ù. Win32 ȯ°æ¿¡¼­´Â ÀÌ·± ¸ñÀûÀ¸·Î ½ºÆÄÀÌ À¯Æ¿¸®Æ¼°¡ Á¦°øµÇÁö¸¸ ´å³ÝÀÇ À̺¥Æ®¸¦ °¨½ÃÇÏ´Â ÅøÀº ¾ø´Ù.

ÅøÀÌ Á¦°øµÇÁö ¾Ê´Â´Ù ÇÏ¿© À̺¥Æ®¸¦ °¨½ÃÇÏÁö ¸øÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¾øÀ¸¸é Á÷Á¢ ¸¸µé¾î¼­ µé¿©´Ù º¸¸é µÉ °Í ¾Æ´Ñ°¡? À̺¥Æ®¸¦ ¹Þ´Â ÆûÀÌ ½º½º·Î À̺¥Æ®¸¦ °¨½ÃÇÏ°í »ç¿ëÀÚ¿¡°Ô ±× °á°ú¸¦ º¸°íÇÏ¸é µÈ´Ù. ´ÙÀ½ ¿¹Á¦´Â °¢Á¾ À̺¥Æ® Çڵ鷯¿¡¼­ À̺¥Æ®ÀÇ ¹ß»ý »ç½ÇÀ» ±â·ÏÇÏ¿© ¾î¶² À̺¥Æ®°¡ ¾î¶² ¼ø¼­·Î ¹ß»ýÇÏ´ÂÁö º¸¿© ÁØ´Ù. ÀÏÁ¾ÀÇ ÇнÀ º¸Á¶ ÅøÀ̹ǷΠ¿¹Á¦ ÀÚü´Â ±»ÀÌ ºÐ¼®ÇØ º¼ ÇÊ¿ä ¾ø´Ù.

 

EventView

using System; ~ using System.Windows.Forms;

 

namespace EventView {

     public partial class Form1 : Form {

          private int count = 1;

 

          public Form1() {

              InitializeComponent();

          }

 

          private void AddEvent(string Name) {

              if (checkBox1.Checked == false) {

                   textBox1.Text += (count + ":" + Name + "\r\n");

                   textBox1.SelectionStart = textBox1.TextLength;

                    textBox1.ScrollToCaret();

                   count++;

              }

          }

 

          private void button1_Click(object sender, EventArgs e) {

              textBox1.Text = "";

              count = 1;

          }

 

          private void Form1_Load(object sender, EventArgs e) {

              AddEvent("Load");

          }

 

          ========== ÀÌÇÏ »ý·« ==========

     }

}

 

ÅؽºÆ® ¹Ú½º¸¦ ¹èÄ¡ÇØ ³õ°í À̺¥Æ®°¡ ¹ß»ýÇÒ ¶§¸¶´Ù ¹®ÀÚ¿­ ÇüÅ·Πº¸°í¼­¸¦ ÀÛ¼ºÇÏ¿© Ãâ·ÂÇÑ´Ù. count Çʵå´Â ¹ß»ýÇÑ À̺¥Æ®¿¡ ¼ø¹øÀ» ºÙÀδÙ. AddEvent ¸Þ¼­µå´Â À̺¥Æ®ÀÇ À̸§À» Àμö·Î ¹Þ¾Æ ÅؽºÆ® ¹Ú½ºÀÇ Á¦ÀÏ ³¡¿¡ µ¡ºÙÀÌ°í ¾Æ·¡ÂÊÀ¸·Î ½ºÅ©·ÑÇÏ¿© ÃÖ±Ù¿¡ Ãß°¡ÇÑ À̺¥Æ®°¡ º¸À̵µ·Ï ÇÑ´Ù.

¸ðµÎ Áö¿ì±â ¹öÆ°À» Ŭ¸¯Çϸé ÅؽºÆ® ¹Ú½º¿¡ ±â·ÏµÈ À̺¥Æ®¸¦ ¸ðµÎ Áö¿ì°í ¼ø¹øÀ» 1·Î ¸®¼ÂÇÑ´Ù. ¸ñ·Ï¿¡ ³Ê¹« ¸¹Àº ³»¿ëÀÌ ÀÖÀ¸¸é ¼Óµµ°¡ ´À·ÁÁö¹Ç·Î °¡²û Áö¿ì´Â °ÍÀÌ ÁÁ´Ù. °¨½Ã ÁßÁö üũ ¹Ú½º´Â À̺¥Æ® ±â·ÏÀ» Àá½Ã ÁßÁöÇϴµ¥ AddEvent ¸Þ¼­µå¿¡¼­ ÀÌ Ã¼Å© ¹Ú½ºÀÇ »óŸ¦ Á¡°ËÇÑ ÈÄ ±â·ÏÇϵµ·Ï µÇ¾î ÀÖ´Ù.

ÀÌÈÄ °¢Á¾ À̺¥Æ® Çڵ鷯¿¡¼­ AddEvent¸¦ È£ÃâÇÏ¿© ÀÚ½ÅÀÌ ¹ß»ýÇßÀ½À» ±â·ÏÇÑ´Ù. Å°º¸µå³ª ¸¶¿ì½º À̺¥Æ®´Â ¹ß»ý ½ÃÁ¡ÀÌ ³Ê¹« ¸íÈ®Çϱ⠶§¹®¿¡ Á¦¿ÜÇß°í ÆûÀÇ »óÅ º¯È­¿Í °ü·ÃµÈ À̺¥Æ®¸¸ ±â·ÏÇß´Ù. ¿øÇÑ´Ù¸é ´õ ¸¹Àº À̺¥Æ®¸¦ °¨½ÃÇÒ ¼ö ÀÖ´Ù.

ÆûÀÌ »ý¼ºµÉ ¶§ ¾î¶² À̺¥Æ®°¡ ¹ß»ýÇÏ´ÂÁö ¾Ë ¼ö ÀÖ´Ù. ÆûÀÌ »ý¼ºµÇ´Â Áß¿¡ Load³ª Activated, Shown µîÀÇ ÃʱâÈ­¿Í °ü·ÃµÈ À̺¥Æ®°¡ ¹ß»ýÇÑ´Ù. »Ó¸¸ ¾Æ´Ï¶ó À§Ä¡¿Í Å©±â¸¦ °áÁ¤ÇØ¾ß ÇϹǷΠLayout, Move À̺¥Æ®µµ ¹ß»ýÇϸç ÃÖÃÊ È­¸éÀ» ±×¸®±â À§ÇØ Paintµµ ¹ß»ýÇÑ´Ù. ÃʱâÈ­¸¦ ¿Ï·áÇÏ°í »ç¿ëÀÚÀÇ ÀÔ·ÂÀ̳ª °¢Á¾ »óȲ º¯È­¸¦ ¾äÀüÈ÷ ´ë±âÇÑ´Ù.

ÆûÀ» ¿òÁ÷¿© º¸¸é Move¿Í LocationChanged À̺¥Æ®°¡ ¹ß»ýÇϴµ¥ ÀÌ ½ÇÇè¿¡¼­ º¸´Ù½ÃÇÇ µÎ À̺¥Æ®´Â ¹ß»ý ½ÃÁ¡ÀÌ ¿ÏÀüÈ÷ °°´Ù. ´Ù¸¥ ÇÁ·Î±×·¥À» È°¼ºÈ­Çϸé Deactivate À̺¥Æ®°¡ ¹ß»ýÇÏ°í ´Ù½Ã ÀÌ ¿¹Á¦·Î µ¹¾Æ¿À¸é Activated À̺¥Æ®°¡ ¹ß»ýÇÑ´Ù. Å©±â¸¦ ¹Ù²ã º¸¸é Layout, Resize, SizeChanged, ClientSizeChanged, Paint µî ´Ù¼¸ °³ÀÇ À̺¥Æ®°¡ Â÷·Ê´ë·Î ¹ß»ýÇϴµ¥ ¾ÕÂÊÀÇ 4°³´Â °°Àº »ç°Ç¿¡ ´ëÇÑ À̺¥Æ®ÀÌ´Ù.

ÆûÀÇ Å©±â°¡ Ä¿Áú ¶§ »õ·Î µå·¯³­ ºÎºÐÀÌ ¹«È¿ÇϹǷΠPaint°¡ ¹ß»ýÇÑ´Ù. ±×·¯³ª Å©±â°¡ ÁÙ¾îµé ¶§´Â ±×·Á¾ß ÇÒ ÇÊ¿ä°¡ ¾ø¾î Paint°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù. ´Ù¸¥ À©µµ¿ì·Î ÀÌ ÆûÀ» °¡¸° ÈÄ¿¡ Á¶±Ý¾¿ ¿òÁ÷¿© µå·¯³ªµµ·Ï ÇØ º¸¸é Paint À̺¥Æ®°¡ ¾ÆÁÖ ºó¹øÇÏ°Ô, ±×°Íµµ ¾öû³­ ¼Óµµ·Î ¹ß»ýÇÑ´Ù. Paint¿¡¼­ ¿Ö ±×¸®±â ¿ÜÀÇ µ¿ÀÛÀ» ÇÏÁö ¸»¾Æ¾ß ÇÏ´ÂÁö ¾Ë ¼ö ÀÖ´Ù.

ÆûÀ» ´ÝÀ» ¶§´Â FormClosing°ú FormClosed À̺¥Æ®°¡ ¼ø¼­´ë·Î ¹ß»ýÇϴµ¥ ±ØÈ÷ ªÀº ½Ã°£À̹ǷΠȮÀÎÇϱ⠽±Áö ¾Ê´Ù. ÀÌÈÄ À̺¥Æ®ÀÇ ¹ß»ý ½ÃÁ¡À̳ª ¼ø¼­ ¶Ç´Â À̺¥Æ®·Î Àü´ÞµÇ´Â Àμö¿¡ ´ëÇØ ¿¬±¸ÇØ º¸°í ½ÍÀ» ¶§´Â ÀÌ ¿¹Á¦Ã³·³ Á÷Á¢ Âï¾î¼­ È®ÀÎÇØ º¸¾Æ¶ó. µð¹ö±ë â¿¡ Ãâ·ÂÇØ ºÁµµ ¿øÇÏ´Â Á¤º¸¸¦ ½±°Ô ¾òÀ» ¼ö ÀÖ´Ù. Á» ±ÍÂú¾Æµµ ´«À¸·Î Á÷Á¢ È®ÀÎÇØ º¸´Â °ÍÀº ³»°ø Çâ»ó¿¡ Å« µµ¿òÀÌ µÈ´Ù.