30-1.Ŭ¸³º¸µå

30-1-1.¹®ÀÚ¿­ º¹»ç

Ŭ¸³º¸µå´Â ÀÀ¿ë ÇÁ·Î±×·¥³¢¸® ¶Ç´Â ³»ºÎÀûÀ¸·Î µ¥ÀÌÅ͸¦ ±³È¯ÇÏ´Â ÀåÄ¡ÀÌ´Ù. Ŭ¸³º¸µå¸¦ »ç¿ëÇÏ¸é ºñ½ÁÇÑ ¹®ÀåÀ» ¸Å¹ø ŸÀÌÇÁÄ¥ ÇÊ¿ä ¾øÀÌ Ctrl+C·Î º¹»çÇؼ­ Ctrl+V·Î ºÙ¿© ³Ö°í ¾à°£¸¸ ¼öÁ¤ÇÏ¸é µÈ´Ù. ¹®ÀÚ¿­ »Ó¸¸ ¾Æ´Ï¶ó À̹ÌÁö³ª ÆÄÀÏ ¸ñ·Ï, µ¿¿µ»ó °°Àº º¹ÀâÇÑ Æ÷¸ËÀÇ µ¥ÀÌÅ͵µ Ŭ¸³º¸µå·Î ±³È¯ÇÒ ¼ö ÀÖ´Ù. ¸ÅÀÏ ºñ½Á ºñ½ÁÇÑ Äڵ带 ¹Ýº¹ÀûÀ¸·Î ÀÛ¼ºÇÏ´Â °³¹ßÀھ߸»·Î Ŭ¸³º¸µåÀÇ °¡Àå Å« ¼öÇýÀÚÀÌ´Ù.

Ŭ¸³º¸µå´Â ¿î¿µÃ¼Á¦°¡ °ü¸®ÇÏ´Â ÀÏÁ¾ÀÇ Àӽà µ¥ÀÌÅÍ ÀúÀå¼Ò·Î¼­ ½Ã½ºÅÛ Àüü¸¦ ÅëƲ¾î ´Ü Çϳª¹Û¿¡ ¾ø´Ù. ÀÌ À¯ÀÏÇÑ ÀúÀå¼Ò¸¦ ÅëÇØ ÀÓÀÇÀÇ ÀÀ¿ë ÇÁ·Î±×·¥³¢¸® ÀÓÀÇ Å¸ÀÔÀÇ µ¥À̸¦ ±³È¯ÇϹǷΠ¿î¿µ ±ÔÄ¢Àº ´Ù¼Ò º¹ÀâÇÏ´Ù. À߸ø ¸¸µé¾îÁø ÇÁ·Î±×·¥ÀÌ Å¬¸³º¸µå¸¦ Á¦¸Ú´ë·Î ´Ù·ç°Å³ª ¾ö°ÝÇÑ ÀýÂ÷¸¦ Á¤È®ÇÏ°Ô µû¸£Áö ¾ÊÀ¸¸é ÀÌÈÄ ¸ðµç ÇÁ·Î±×·¥ÀÌ Å¬¸³º¸µå¸¦ »ç¿ëÇÏÁö ¸øÇÒ ¼öµµ ÀÖ´Ù. µû¶ó¼­ Ŭ¸³º¸µå¸¦ ÇÁ·Î±×·¡¹ÖÇÒ ¶§´Â Á¤È®ÇÑ ÀýÂ÷¸¦ Àß ¼÷ÁöÇØ¾ß ÇÑ´Ù.

´ÙÇེ·´°Ôµµ Ŭ¸³º¸µå¸¦ Á÷Á¢ ÇÁ·Î±×·¡¹ÖÇÒ ÀÏÀº ±×¸® ÈçÇÏÁö ¾Ê´Ù. ƯÈ÷ ´å³Ý°°Àº °í±Þ °³¹ßÅø¿¡¼­´Â ´õ ±×·±µ¥ ÄÁÆ®·ÑÀÌ ÀÚüÀûÀ¸·Î Ŭ¸³º¸µå¸¦ °ü¸®ÇÒ »Ó¸¸ ¾Æ´Ï¶ó ÄÁÅؽºÆ® ¸Þ´º¿Í ´ÜÃàÅ°±îÁö Á¦°øÇϱ⠶§¹®ÀÌ´Ù. Æû¿¡ ÄÁÆ®·ÑÀ» ¹èÄ¡ÇØ ³õ±â¸¸ Çصµ ÀÌ¹Ì Å¬¸³º¸µå 󸮰¡ °¡´ÉÇÏ´Ù. Ŭ¸³º¸µå¸¦ Á÷Á¢ ´Ù·ç¾î¾ß ÇÏ´Â ÇÁ·Î±×·¥Àº ¿öµåÇÁ·Î¼¼¼­³ª ±×·¡ÇÈ ÆíÁý±âó·³ °íÀ¯ÀÇ ¹®¼­¸¦ ÆíÁýÇÏ´Â ÇÁ·Î±×·¥ Á¤µµ¿¡ ±¹ÇѵȴÙ.

Clipboard Ŭ·¡½º´Â Ŭ¸³º¸µå¸¦ °ü¸®ÇÏ´Â Á¤Àû ¸Þ¼­µåÀÇ ÁýÇÕÀÌ´Ù. ¸Þ¼­µå¸¸ È£ÃâÇÏ¸é µÇ¹Ç·Î °´Ã¼¸¦ »ý¼ºÇÒ ÇÊ¿ä´Â ¾ø°í »ý¼ºÀÚ°¡ ¾ø¾î °´Ã¼¸¦ ¸¸µé ¼öµµ ¾ø´Ù. ¶ÇÇÑ ºÀÀεǾî ÀÖ¾î »ó¼ÓÇÒ ¼öµµ ¾ø´Ù. ¿À·ÎÁö Ŭ¸³º¸µå¿Í °ü·ÃµÈ Á¤Àû ¸Þ¼­µå¸¸ Á¦°øÇÒ »ÓÀÌ´Ù. ´ÙÀ½ µÎ ¸Þ¼­µå´Â °¡Àå °£´ÜÇÑ Æ÷¸ËÀÎ ¹®ÀÚ¿­À» Ŭ¸³º¸µå·Î ÀÔÃâ·ÂÇÑ´Ù.

 

public static void SetText (string text [,TextDataFormat format])

public static string GetText ([TextDataFormat format])

public static bool ContainsText ([TextDataFormat format])

 

SetText´Â Ŭ¸³º¸µå¿¡ ÅؽºÆ®¸¦ ÀúÀåÇÏ°í GetText´Â Ŭ¸³º¸µåÀÇ ÅؽºÆ®¸¦ Àоî¿Â´Ù. À̶§ ÅؽºÆ®ÀÇ Æ÷¸ËÀº ¿î¿µÃ¼Á¦¿¡ µû¶ó ANSI ¶Ç´Â À¯´ÏÄÚµåÀε¥ µÎ Æ÷¸ËÀº Ŭ¸³º¸µå¿¡ ³ÖÀ» ¶§ »óÈ£ ÀÚµ¿ º¯È¯µÇ¹Ç·Î Ŭ¸³º¸µå ÀÔÀå¿¡¼­´Â °°Àº Æ÷¸ËÀÌ´Ù. format Àμö·Î ÅؽºÆ®ÀÇ Æ÷¸ËÀ» Á÷Á¢ ÁöÁ¤Çϸé HTML, RTF, CSV Æ÷¸ËÀÇ ÅؽºÆ®µµ ÀÔÃâ·ÂÇÒ ¼ö ÀÖ´Ù. ContainsText ¸Þ¼­µå´Â Ŭ¸³º¸µå¿¡ ÅؽºÆ®°¡ µé¾î ÀÖ´ÂÁö °Ë»çÇÑ´Ù. Ŭ¸³º¸µå´Â ÀÓÀÇÀÇ Æ÷¸ËÀ» ÀúÀåÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÅؽºÆ®¸¦ ²¨³»±â Àü¿¡ ¿øÇÏ´Â Æ÷¸ËÀÎÁö È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.

 

ClipString

using System; ~ using System.Windows.Forms;

 

namespace ClipString {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void button1_Click(object sender, EventArgs e) {

                                        Clipboard.SetText(textBox1.Text);

                           }

 

                           private void button2_Click(object sender, EventArgs e) {

                                        if (Clipboard.ContainsText()) {

                                                     textBox2.Text = Clipboard.GetText();

                                        }

                           }

             }

}

 

Æû¿¡ ¸ÖƼ¶óÀÎ ÅؽºÆ® ¹Ú½º¿Í ¹öÆ°À» µÎ °³¾¿ ¹èÄ¡ÇÏ°í À§ÂÊ ÅؽºÆ® ¹Ú½º¿¡¼­ º¹»çÇÏ¿© ¾Æ·¡ÂÊ ÅؽºÆ® ¹Ú½º¿¡ ºÙ¿© ³Ö¾î º¸¾Ò´Ù. À§ÂÊ ÅؽºÆ® ¹Ú½º¿¡ ¹º°¡¸¦ ÀÔ·ÂÇÑ ÈÄ º¹»ç ¹öÆ°À» ´©¸£¸é ÀÔ·ÂÇÑ ³»¿ëÀÌ Å¬¸³º¸µå·Î º¹»çµÈ´Ù. ÀÌ »óÅ¿¡¼­ ¾Æ·¡ÂÊÀÇ ºÙ¿© ³Ö±â ¹öÆ°À» ´©¸£¸é ¶È°°Àº ¹®ÀÚ¿­ÀÌ ³ªÅ¸³­´Ù.

º¹»ç ¹öÆ°Àº SetText ¸Þ¼­µå·Î À§ÂÊ ÅؽºÆ® ¹Ú½ºÀÇ Text ÇÁ·ÎÆÛƼ¸¦ Ŭ¸³º¸µå·Î º¸³Â°í ºÙ¿©³Ö±â ¹öÆ°Àº GetText ¸Þ¼­µå·Î Ŭ¸³º¸µåÀÇ ¹®ÀÚ¿­À» ÀÐ¾î ¾Æ·¡ÂÊ ÅؽºÆ® ¹Ú½ºÀÇ Text ÇÁ·ÎÆÛƼ¿¡ ´ëÀÔÇß´Ù. ¼±Åà ºí·ÏÀÇ ÅؽºÆ®¸¸ º¹»çÇÏ´Â °Íµµ °¡´ÉÇÏ¸ç ºÙ¿© ³ÖÀº ÅؽºÆ®¸¦ ±âÁ¸ ÅؽºÆ® µÚ¿¡ µ¡ºÙÀÏ ¼öµµ ÀÖ´Ù.

¿¹Á¦¿¡¼­´Â ÆíÀÇ»ó °°Àº ÇÁ·Î±×·¥ ³»ºÎ¿¡¼­ ÅؽºÆ®¸¦ ±³È¯ÇßÁö¸¸ Ŭ¸³º¸µå¸¦ °æÀ¯ÇÏ¿© º¹»çÇÑ °ÍÀ̹ǷΠÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °æ°è¸¦ ³Ñ¾î ÅؽºÆ®¸¦ º¸³»°í ¹ÞÀ» ¼ö ÀÖ´Ù. ¸Þ¸ðÀåÀ̳ª ºñÁÖ¾ó ½ºÆ©µð¿À¿Íµµ ÅؽºÆ® ±³È¯ÀÌ °¡´ÉÇϸç ÀÌ ÇÁ·Î±×·¥À» µÎ °³ ½ÇÇàÇØ ³õ°í ±³È¯ÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. ÅؽºÆ® Æ÷¸ËÀ» ÀνÄÇÏ´Â ¸ðµç ÇÁ·Î±×·¥°ú ÀڷḦ ±³È¯ÇÒ ¼ö ÀÖ´Ù.

À߶󳻱â´Â °³³äÀûÀ¸·Î º¹»ç ÈÄ »èÁ¦ÇÏ´Â °Í°ú °°¾Æ µû·Î ¸Þ¼­µå°¡ Á¦°øµÇÁö ¾Ê´Â´Ù. À§ ¿¹Á¦¿¡ Àß¶ó ³»±â ¹öÆ°À» ¸¸µç´Ù¸é º¹»ç ÄÚµå ´ÙÀ½¿¡ textBox1.Text = ""; ´ëÀÔ¹®¸¸ ÀÛ¼ºÇÏ¸é µÈ´Ù. ´ÙÀ½Àº ¹®ÀÚ¿­¸¸Å­À̳ª ¹ü¿ëÀûÀÎ Æ÷¸ËÀÎ À̹ÌÁö¸¦ ±³È¯ÇÏ´Â ¸Þ¼­µå¸¦ º¸ÀÚ. ¸Þ¼­µå À̸§ÀÌ ¿ö³« ½¬¿ì¹Ç·Î µû·Î ¼³¸íÇÏÁö ¾Ê¾Æµµ »ç¿ë¹ýÀ» ¾Ë ¼ö ÀÖ´Ù.

 

public static void SetImage (Image image)

public static Image GetImage ()

public static bool ContainsImage ()

 

Àμö³ª ¸®ÅÏ°ªÀÌ ¹®ÀÚ¿­ÀÌ ¾Æ´Ï¶ó Image ŸÀÔÀ̶ó´Â Á¡¸¸ ´Ù¸£´Ù. º¹»çÇÒ À̹ÌÁö³ª È­¸éÀÇ ÀϺθ¦ Image °´Ã¼·Î ¸¸µç ÈÄ SetImage¸¦ È£ÃâÇÑ´Ù. ¸¶Âù°¡Áö·Î ¿Àµð¿À ½ºÆ®¸²À» ±³È¯ÇÏ´Â Get(Set)AudioStream ¸Þ¼­µå¿Í ÆÄÀÏ ¸ñ·ÏÀ» ±³È¯ÇÏ´Â Get(Set)FileDropList ¸Þ¼­µåµµ Á¦°øÇÑ´Ù. ´ÙÀ½ ¸Þ¼­µå´Â Ŭ¸³º¸µåÀÇ ³»¿ëÀ» ¸ðµÎ Áö¿ì´Âµ¥ ´Ù¸¥ µ¥ÀÌÅÍ°¡ µé¾î°¡¸é ±âÁ¸ µ¥ÀÌÅÍ´Â »èÁ¦µÇ¹Ç·Î ÀϺη¯ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÒ ÇÊ¿ä´Â °ÅÀÇ ¾ø´Ù.

 

public static void Clear ()

 

¹®ÀÚ¿­°°Àº °£´ÜÇÑ Æ÷¸ËÀº °í¼öÁØÀÇ ¸Þ¼­µå·Îµµ ÃæºÐÇÏÁö¸¸ »ç¿ëÀÚ Á¤ÀÇ Æ÷¸Ë±îÁö ÀÔÃâ·ÂÇÏ·Á¸é ¿ø·ÐÀûÀÎ ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æ¾ß ÇÑ´Ù.

30-1-2.µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®

´ÙÀ½ µÎ ¸Þ¼­µå´Â ÀÓÀÇ Æ÷¸ËÀÇ µ¥ÀÌÅ͸¦ Ŭ¸³º¸µå·Î ÀÔÃâ·ÂÇÑ´Ù. »ç¿ë ¹æ¹ýÀÌ ±î´Ù·ÓÁö¸¸ ´Ù¾çÇÑ Å¸ÀÔÀÇ µ¥ÀÌÅ͸¦ ´Ù·ê ¼ö ÀÖ°í Ŭ¸³º¸µå¸¦ ¼¶¼¼ÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ´Ù.

 

public static void SetDataObject (Object data [,bool copy])

public static IDataObject GetDataObject ()

 

SetDataObject ¸Þ¼­µå´Â data¸¦ Ŭ¸³º¸µå¿¡ ³Ö´Â´Ù. data°¡ object ŸÀÔÀ̹ǷΠ¾î¶°ÇÑ Æ÷¸ËÀÌ¶óµµ ³ÖÀ» ¼ö ÀÖ´Ù. ´Ü, ´Ù¸¥ ÇÁ·Î±×·¥À¸·Î Àü¼ÛÇÒ ¼ö ÀÖ¾î¾ß ÇϹǷΠ½Ã¸®¾ó¶óÀÌÁî °¡´ÉÇÑ Å¸ÀÔÀ̾î¾ß ÇÑ´Ù´Â Á¦¾àÀÌ ÀÖ´Ù. ±âº» ŸÀÔÀº ¸ðµÎ °¡´ÉÇÏ¸ç °´Ã¼ÀÇ °æ¿ì ½Ã¸®¾ó¶óÀÌÁî ±â´ÉÀ» Áö¿øÇØ¾ß ÇÑ´Ù. ½Ã¸®¾ó¶óÀÌÁî°¡ ¾ÈµÇ¸é ¹ÞÀº ÂÊ¿¡¼­ °´Ã¼¸¦ Á¶¸³ÇÒ ¼ö ¾ø´Ù.

copy Àμö´Â ÀÀ¿ë ÇÁ·Î±×·¥ Á¾·á ÈÄ¿¡µµ Ŭ¸³º¸µåÀÇ µ¥ÀÌÅ͸¦ ±×´ë·Î À¯ÁöÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤Çϴµ¥ ÀÌ °ªÀÌ trueÀÌ¸é µ¥ÀÌÅÍÀÇ ¿ÏÀüÇÑ »çº»À» ¸¸µé¾î Ŭ¸³º¸µå·Î ³Ñ±èÀ¸·Î½á ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Á¾·áµÇ¾îµµ Ŭ¸³º¸µå¿¡ µ¥ÀÌÅÍ°¡ °è¼Ó ³²´Â´Ù. µðÆúÆ®´Â falseÀε¥ ÀÌ °æ¿ì µ¥ÀÌÅÍ ÀÚü¸¦ Ŭ¸³º¸µå·Î º¸³»Áö ¾ÊÀ¸¸ç µî·Ï¸¸ ÇØ ³õ°í ¿äûÀÌ ÀÖÀ» ¶§ ½ÇÁ¦ µ¥ÀÌÅ͸¦ Àü¼ÛÇÑ´Ù. ÀÌ·± ±â¹ýÀ» Áö¿¬µÈ ±×¸®±â¶ó°í Çϴµ¥ ¸Þ¸ð¸®¿Í º¹»ç ½Ã°£À» Àý¾àÇÏ´Â È¿°ú°¡ ÀÖÁö¸¸ Á¾·á ÈÄ¿¡ µ¥ÀÌÅÍ°¡ »ç¶óÁö´Â ´ÜÁ¡ÀÌ ÀÖ´Ù.

GetDataObject ¸Þ¼­µå´Â Ŭ¸³º¸µå¿¡ ÀúÀåµÈ µ¥ÀÌÅ͸¦ Ç¥ÇöÇÏ´Â IDataObject °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù. IDataObject´Â Æ÷¸Ë¿¡ µ¶¸³ÀûÀÎ µ¥ÀÌÅ͸¦ ±³È¯Çϱâ À§ÇÑ Å¬·¡½ºÀ̸ç Ŭ¸³º¸µå »Ó¸¸ ¾Æ´Ï¶ó µå·¡±× & µå·Ó¿¡µµ »ç¿ëµÈ´Ù. ¾î¶² Æ÷¸ËÀÎÁö, ½ÇÁ¦ µ¥ÀÌÅÍ´Â ¹«¾ùÀÎÁö ÀÌ °´Ã¼·ÎºÎÅÍ Á¶»çÇÑ´Ù. ¿©·¯ °³ÀÇ Æ÷¸ËÀÌ °°ÀÌ ÀúÀåµÇ¾î ÀÖÀ» ¼öµµ ÀÖ´Ù. ƯÁ¤ ŸÀÔÀÌ Å¬¸³º¸µå¿¡ ÀÖ´ÂÁö Á¶»çÇÒ ¶§´Â IDataObjectÀÇ ´ÙÀ½ ¸Þ¼­µå¸¦ »ç¿ëÇÑ´Ù.

 

bool GetDataPresent (string format [,bool autoConvert])

bool GetDataPresent (Type format)

 

¹®ÀÚ¿­ ÇüÅ·ΠµÈ Æ÷¸ËÀÇ ¸íĪÀ̳ª typeof ¿¬»êÀÚ·Î ±¸ÇÑ Type °´Ã¼¸¦ Àμö·Î Àü´ÞÇÑ´Ù. autoConvert Àμö°¡ trueÀ̸é Ŭ¸³º¸µåÀÇ µ¥ÀÌÅ͸¦ ÀÚµ¿ º¯È¯ÇÏ¿© ¿øÇÏ´Â Æ÷¸ËÀ¸·Î ¸¸µé ¼ö ÀÖ´ÂÁö Á¶»çÇÑ´Ù. ¿¹¸¦ µé¾î Ŭ¸³º¸µå¿¡ À¯´ÏÄÚµå ÅؽºÆ®°¡ ÀÖ´Â »óȲ¿¡¼­ ANSI ÅؽºÆ®¸¦ ¿ä±¸ÇÒ ¶§´Â ÀÚµ¿ º¯È¯ÀÌ °¡´ÉÇϹǷΠANSI ÅؽºÆ®°¡ ÀÖ´Â °ÍÀ¸·Î Á¶»çµÈ´Ù. Æ÷¸ËÀÇ ¸íĪÀº DataFormats Ŭ·¡½º°¡ Á¤ÀÇÇϴµ¥ Â÷ÈÄ µû·Î Á¤¸®ÇØ º¸ÀÚ. ƯÁ¤ Æ÷¸ËÀÇ µ¥ÀÌÅ͸¦ ÀÐÀ» ¶§´Â ´ÙÀ½ ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù.

 

Object GetData (string format [,bool autoConvert])

Object GetData (Type format)

 

ÀμöÀÇ Àǹ̴ GetDataPresent ¸Þ¼­µå¿Í µ¿ÀÏÇÏ¸ç ¹®ÀÚ¿­À̳ª Type °´Ã¼·Î ÀÐÀ» µ¥ÀÌÅÍÀÇ Å¸ÀÔÀ» ÁöÁ¤ÇÑ´Ù. ¸®ÅϵǴ µ¥ÀÌÅÍ´Â object ŸÀÔÀ̹ǷΠ¿øÇϴ ŸÀÔÀ¸·Î ÀûÀýÈ÷ ij½ºÆÃÇÑ´Ù. GetData´Â Ŭ¸³º¸µåÀÇ µ¥ÀÌÅ͸¦ ´å³Ý ŸÀÔÀ¸·Î º¯È¯ÇØ ¸®ÅÏÇϹǷΠ´å³Ý Äڵ忡¼­ ¹Ù·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ¹®ÀÚ¿­Àº string °´Ã¼·Î º¯È¯ÇÏ°í ºñÆ®¸ÊÀº Image °´Ã¼·Î ¹Ù²Û´Ù. ClipString ¿¹Á¦¸¦ ÀÌ ¸Þ¼­µå·Î ´Ù½Ã ÀÛ¼ºÇØ º¸¾Ò´Ù. ¹öÆ°ÀÇ Click À̺¥Æ® Çڵ鷯¸¸ ¼öÁ¤ÇÏ¸é µÈ´Ù.

 

private void button1_Click(object sender, EventArgs e) {

         Clipboard.SetDataObject(textBox1.Text, true);

}

 

private void button2_Click(object sender, EventArgs e) {

         IDataObject data = Clipboard.GetDataObject();

         if (data.GetDataPresent(typeof(string))) {

                      textBox2.Text = (string)data.GetData(typeof(string));

         }

}

 

Á÷°üÀûÀÎ À̸§ÀÇ ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â ¹æ¹ý¿¡ ºñÇØ Å¸ÀÔÀ» Á÷Á¢ ÁöÁ¤ÇØ¾ß ÇÏ°í ij½ºÆñîÁö ÇÊ¿äÇϹǷΠº¹ÀâÇØ º¸ÀδÙ. ±×·¯³ª ÀÌ ¹æ¹ýÀº ÀÓÀÇÀÇ Æ÷¸Ë±îÁö ´Ù·ê ¼ö ÀÖ´Ù´Â ¸é¿¡¼­ ¹ü¿ë¼ºÀÌ ¶Ù¾î³ª´Ù.

30-1-3.Ŭ¸³º¸µå Æ÷¸Ë

Ŭ¸³º¸µå´Â ½Ã½ºÅÛ Àüü¸¦ ÅëƲ¾î ´Ü Çϳª¹Û¿¡ ¾ø¾î ÇϳªÀÇ µ¥ÀÌÅ͸¸ ÀúÀåÇÒ ¼ö ÀÖ´Ù. »õ·Î¿î µ¥ÀÌÅ͸¦ º¹»çÇØ ³ÖÀ¸¸é ÀÌÀü¿¡ Ŭ¸³º¸µå¿¡ ÀÖ´ø ³»¿ëÀº Æı«µÈ´Ù. ¸Þ¸ðÀåÀ¸·Î ÅؽºÆ®¸¦ º¹»çÇØ ³ÖÀº »óÅ¿¡¼­ ±×¸²ÆÇÀ¸·Î À̹ÌÁö¸¦ º¹»çÇϸé ÅؽºÆ®´Â »ç¶óÁö°í À̹ÌÁö°¡ ´ë½Å µé¾î°¡´Â °ÍÀÌ ´ç¿¬ÇÏ´Ù.

µ¿½Ã¿¡ µÎ °³ÀÇ µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¼ö ¾ø´Â °ÍÀÌ Å« Á¦¾àÀÎ °Í °°Áö¸¸ À̴ Ŭ¸³º¸µåÀÇ º»ÁúÀûÀΠƯ¼ºÀ̸ç À¯ÀÏÇϱ⠶§¹®¿¡ ÀÚ·á ±³È¯¿ëÀ¸·Î ¾µ ¼ö ÀÖ´Â °ÍÀÌ´Ù. »ç¿ëÀÚ´Â º¹»ç ÈÄ ¹Ù·Î ºÙ¿© ³Ö±â¸¦ ÇϹǷΠÇÑ ¹ø¿¡ ÇϳªÀÇ µ¥ÀÌÅ͸¸ ÀúÀåÇÏ´Â Á¦ÇÑÀÌ ºÒÆíÇÏÁö ¾Ê´Ù.

µ¥ÀÌÅÍ´Â Çϳª¹Û¿¡ ÀúÀåÇÒ ¼ö ¾øÁö¸¸ ÇÑ µ¥ÀÌÅÍ¿¡ ´ëÇØ ¿©·¯ °¡Áö Æ÷¸ËÀ» µ¿½Ã¿¡ ÀúÀåÇÏ´Â °ÍÀº °¡´ÉÇÏ´Ù. ¿öµå¿¡¼­ ¹®ÀåÀ» ¼±ÅÃÇÏ¿© Ŭ¸³º¸µå·Î º¹»çÇÏ¸é ¿öµå °íÀ¯ÀÇ Æ÷¸Ë»Ó¸¸ ¾Æ´Ï¶ó ÅؽºÆ®, HTML, RTF·Îµµ º¯È¯µÇ¾î ÀúÀåµÇ¸ç ½ÉÁö¾î À̹ÌÁö·Îµµ º¹»çµÈ´Ù. ÀÌ Æ÷¸ËÀº »ç¿ëÀÚ°¡ º¹»çÇÑ ¹®ÀåÀ» ´Ù¸¥ ÇüÅ·ΠǥÇöÇÏ´Â µ¿ÀÏÇÑ µ¥ÀÌÅÍÀÌ´Ù.

¿Ö ÀÌ·¸°Ô ¿©·¯ °¡Áö Æ÷¸ËÀ¸·Î µ¥ÀÌÅ͸¦ ÀúÀåÇϴ°¡ ÇÏ¸é º¹»çÇÏ´Â ½ÃÁ¡¿¡´Â ÀÌ µ¥ÀÌÅ͸¦ ´©°¡ °¡Á®°¥Áö ¾Ë ¼ö ¾ø±â ¶§¹®ÀÌ´Ù. ¿öµå´Â ¼­½ÄÀÌ ÀÖ´Â ¿öµå Æ÷¸ËÀ¸·Î °¡Á®°¥ °ÍÀÌ°í ¸Þ¸ðÀåÀº ÅؽºÆ®¸¸ »© °¥ °ÍÀÌ°í ´Ù¸¥ Á¾·ùÀÇ ¿öµåÇÁ·Î¼¼¼­´Â ÃÖ¼ÒÇÑÀÇ °øÅë Æ÷¸ËÀÎ RTF³ª HTML Æ÷¸ËÀ¸·Î °¡Á®°£´Ù.

Ŭ¸³º¸µå¿¡ ÀúÀåµÇ´Â µ¥ÀÌÅÍ Æ÷¸ËÀÇ Á¾·ù´Â DataFormats Ŭ·¡½º°¡ °ü¸®ÇÑ´Ù. ÀÌ Å¬·¡½º´Â ¹Ì¸® Á¤ÀÇµÈ Æ÷¸ËÀÇ À̸§À» ¸®ÅÏÇÏ´Â Á¤Àû Çʵ带 Á¦°øÇÑ´Ù. °¢ Æ÷¸ËÀº ¹®ÀÚ¿­·Î µÈ °íÀ¯ÀÇ À̸§À» °¡Áö¸ç ¶ÇÇÑ Win32¿¡¼­ Á¤ÀÇÇÏ´Â Á¤¼öÇüÀÇ IDµµ Á¤ÀǵǾî ÀÖ´Ù. ÀÚÁÖ »ç¿ëÇÏ´Â ÁÖ¿ä Æ÷¸ËÀº ´ÙÀ½°ú °°À¸¸ç ¸ðµÎ DataFormatsÀÇ Á¤Àû ÇʵåÀÌ´Ù.

 

Çʵå

À̸§

ID

Text

Text

1

Bitmap

Bitmap

2

MetafilePict

MetaFilePict

3

Dib

DeviceIndependentBitmap

8

Riff

RiffAudio

11

WaveAudio

WaveAudio

12

UnicodeText

UnicodeText

13

FileDrop

FileDrop

15

Html

HTML Format

49358

Rtf

Rtf

49387

 

ÅؽºÆ®, ºñÆ®¸Ê, ¿Àµð¿À, ÆÄÀÏ ¸ñ·Ïó·³ ÈçÈ÷ »ç¿ëÇÏ´Â Æ÷¸ËÀÌ µî·ÏµÇ¾î ÀÖ´Ù. ÀÌ Áß Html°ú Rtf´Â Ç¥ÁØ Æ÷¸ËÀÌ ¾Æ´Ï¸ç ¿î¿µÃ¼Á¦¿¡ ÀÇÇØ »ç¿ëÀÚ µî·ÏµÈ °ÍÀÌ´Ù. HTML °°Àº ¹ü¿ë Æ÷¸ËÀÌ ¿î¿µÃ¼Á¦ÀÇ Ç¥ÁØÀÌ ¾Æ´Ï¶ó´Â Á¡ÀÌ Á¶±Ý ÀǾÆÇÏ°Ô »ý°¢µÉÁö ¸ð¸£°Ú´Âµ¥ À©µµ¿ì°¡ óÀ½ ¸¸µé¾îÁú ¶§¸¸ Çصµ HTMLÀÌ ¾ø¾ú´Ù. Ŭ¸³º¸µå¿¡ ÇöÀç ¾î¶² Æ÷¸ËÀÇ µ¥ÀÌÅÍ°¡ µé¾î ÀÖ´ÂÁö Á¶»çÇÏ°í ½ÍÀ» ¶§´Â IDataObjectÀÇ ´ÙÀ½ ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù.

 

string[] GetFormats ([bool autoConvert])

 

autoConvert Àμö´Â ÀÚµ¿ º¯È¯ÀÌ °¡´ÉÇÑ Æ÷¸Ëµµ Á¶»çÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤Çϴµ¥ »ý·«½Ã true°¡ Àû¿ëµÈ´Ù. ÀÌ ¸Þ¼­µå´Â Ŭ¸³º¸µå¿¡ µé¾î ÀÖ´Â µ¥ÀÌÅÍÀÇ Æ÷¸Ë À̸§ ¸ñ·ÏÀ» °¡Áö´Â ¹®ÀÚ¿­ ¹è¿­À» ¸®ÅÏÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÇöÀç Ŭ¸³º¸µå¿¡ ¾î¶² Æ÷¸ËÀÌ µé¾î ÀÖ´ÂÁö Á¶»çÇÏ¿© ¸®½ºÆ® ¹Ú½º·Î Ãâ·ÂÇÑ´Ù.

 

EnumClip

using System; ~ using System.Windows.Forms;

 

namespace EnumClip {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void button1_Click(object sender, EventArgs e) {

                                        string[] cf = Clipboard.GetDataObject().GetFormats();

 

                                        listBox1.Items.Clear();

                                        foreach (string f in cf) {

                                                     listBox1.Items.Add(f);

                                        }

                           }

             }

}

 

Æû¿¡ ¸®½ºÆ® ¹Ú½º¿Í ¹öÆ°À» ¹èÄ¡ÇÏ°í ¹öÆ°ÀÇ Click À̺¥Æ®¿¡¼­ GetFormats ¸Þ¼­µå·Î ¾òÀº ¸ñ·ÏÀ» ¸®½ºÆ® ¹Ú½º¿¡ Ãâ·ÂÇß´Ù. ¾î¶² ÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅ͸¦ Àü¼ÛÇϴ°¡¿¡ µû¶ó Ŭ¸³º¸µå¿¡ µî·ÏµÇ´Â Æ÷¸ËÀÇ ¸ñ·ÏÀÌ ´Þ¶óÁø´Ù.

   

ù ¹ø° ±×¸²Àº ¸Þ¸ðÀåÀ¸·Î ¹®ÀÚ¿­À» º¹»çÇÑ ÈÄ Á¶»çÇÑ °ÍÀε¥ 5°³ÀÇ Æ÷¸ËÀ» µî·ÏÇÑ´Ù. ¹®ÀÚ¿­, À¯´ÏÄÚµå, ¾È½Ã, Áö¿ªÈ­µÈ ¹®ÀÚ¿­, ÀåÄ¡ ¹®ÀÚ¿­ µîÀε¥ ÀúÀåµÈ ¹®ÀÚ¿­ ³»¿ëÀº ¸ðµÎ °°Áö¸¸ ÀÎÄÚµù ¹æ½ÄÀÌ °¢°¢ ´Ù¸£´Ù. ¾î¶² ÀÎÄÚµù ¹æ½ÄÀ» »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÌµç ¹®ÀÚ¿­ÀÌ ÇÊ¿äÇÏ¸é ´©±¸³ª °¡Á®°¥ ¼ö ÀÖµµ·Ï ´Ù¾çÇÑ Æ÷¸ËÀ¸·Î º¯È¯ÇÏ¿© ÀúÀåÇÑ´Ù.

¿öµåÀÇ °æ¿ì´Â ¹«·Á 13°³ÀÇ Æ÷¸ËÀ¸·Î ÀúÀåÇϴµ¥ ´Ù¾çÇÑ Æ÷¸ËÀ¸·Î µî·ÏÇÔÀ¸·Î½á ¸Þ¸ðÀåÀ̳ª ¾Æ·¡ ÇѱÛÀÌ ÃÖ´ëÇÑ ¼­½ÄÀÇ Èñ»ý¾øÀÌ ¹®ÀåÀ» °¡Á®°¥ ¼ö ÀÖ´Ù. ¸¶Áö¸· ±×¸²Àº PrtSc Å°·Î Çϵå Ä«ÇÇÇÑ ÈÄ µî·ÏµÈ Æ÷¸ËÀ» Á¶»çÇØ º» °ÍÀε¥ ¸ðµÎ ºñÆ®¸Ê Æ÷¸ËÀÌ´Ù. »ó¿ë ÇÁ·Î±×·¥ÀÌ ÃÖ´ëÇÑ ¸¹Àº Æ÷¸ËÀ¸·Î µ¥ÀÌÅ͸¦ µî·ÏÇÏ´Â °Íó·³ ¿ì¸®°¡ ¸¸µå´Â ÇÁ·Î±×·¥µµ °¡±ÞÀûÀÌ¸é ´Ù¾çÇÑ Æ÷¸ËÀ¸·Î µ¥ÀÌÅ͸¦ º¯È¯ÇÏ¿© µî·ÏÇØ¾ß È£È¯¼ºÀÌ ÁÁ¾ÆÁø´Ù. ´Ù¸¥ Æ÷¸ËÀ¸·Î µ¥ÀÌÅ͸¦ ¿©·¯ °³ ³ÖÀ» ¶§ IDataObjectÀÇ ´ÙÀ½ ¸Þ¼­µå¸¦ »ç¿ëÇÑ´Ù.

 

void SetData (Object data)

void SetData (string format,Object data)

void SetData (Type format,Object data)

void SetData (string format,bool autoConvert,Object data)

 

°´Ã¼¸¸ ÀúÀåÇÒ ¼ö ÀÖ°í À̸§À̳ª Type °´Ã¼·Î Æ÷¸ËÀ» ¹àÈú ¼öµµ ÀÖÀ¸¸ç autoConvert Àμö¸¦ true·Î ÁöÁ¤ÇÏ¿© ´Ù¸¥ Çü½ÄÀ¸·Î ÀÚµ¿ º¯È¯Çϵµ·Ï Áö½ÃÇÒ ¼öµµ ÀÖ´Ù. IDataObject ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â DataObject °´Ã¼¸¦ »ý¼ºÇÏ°í SetData¸¦ ÇÊ¿äÇѸ¸Å­ °¢ Æ÷¸Ë¿¡ ´ëÇØ ¿©·¯ ¹ø È£ÃâÇÏ¸é µÈ´Ù.

 

MultiFormat

using System; ~ using System.Windows.Forms;

 

namespace MultiFormat {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void button1_Click(object sender, EventArgs e) {

                                        DataObject data = new DataObject();

                                        data.SetData(DataFormats.Text, textBox1.Text);

                                        string html = "<p>" + textBox1.Text + "</p>";

                                        data.SetData(DataFormats.Html, html);

                                        Clipboard.SetDataObject(data, true);

                           }

 

                           private void button2_Click(object sender, EventArgs e) {

                                        IDataObject data = Clipboard.GetDataObject();

                                        if (data.GetDataPresent(DataFormats.Text)) {

                                                     textBox2.Text = (string)data.GetData(DataFormats.Text);

                                        }

                           }

 

                           private void button3_Click(object sender, EventArgs e) {

                                        IDataObject data = Clipboard.GetDataObject();

                                        if (data.GetDataPresent(DataFormats.Html)) {

                                                     textBox3.Text = (string)data.GetData(DataFormats.Html);

                                        }

 

                           }

             }

}

 

ÀÌ ¿¹Á¦´Â ÅؽºÆ® ¹Ú½º¿¡ ÀÔ·ÂµÈ ¹®ÀÚ¿­À» Text ¿Í HTML µÎ °³ÀÇ Æ÷¸ËÀ¸·Î Ŭ¸³º¸µå¿¡ ³Ö´Â´Ù. ¹°·Ð ¾ó¸¶µçÁö ´õ ¸¹Àº Æ÷¸ËÀ¸·Î º¯È¯ÇÏ¿© ³ÖÀ» ¼ö ÀÖ´Ù. RTF·Î º¯È¯ÇÒ ¼ö ÀÖ°í ºñÆ®¸ÊÀ¸·Î º¯È¯ÇÏ¿© ÀúÀåÇصµ µÈ´Ù. º¯È¯ ¹× º¹»ç ½Ã°£ÀÌ ´õ °É¸®Áö¸¸ ±×¸¸Å­ ÀÚ·á ȣȯ¼ºÀÌ ÁÁ¾ÆÁø´Ù.

º¹»ç ¹öÆ°À» ´©¸£¸é DataObject °´Ã¼¸¦ ¸¸µé°í Text¿Í HTML¿¡ ´ëÇØ °¢°¢ ÇÑ ¹ø¾¿ SetData¸¦ È£ÃâÇÑ´Ù. À̶§ µÎ Æ÷¸ËÀº °°Àº µ¥ÀÌÅ͸¦ Ç¥ÇöÇÏ´Â ´Ù¸¥ Çü½ÄÀ̾î¾ß ÇÑ´Ù. ¿¹Á¦¿¡¼­´Â HTMLÀÓÀ» Ç¥½ÃÇϱâ À§ÇØ <p> ű׸¸ ºÙ¿© º¸¾Ò´Âµ¥ Á¤È®ÇÏ°Ô Ã³¸®ÇÏ·Á¸é °¢Á¾ ¼­½ÄÀ» ÁöÁ¤Çϴ ű׵µ ºÙ¿©¾ß ÇÑ´Ù. ÀÌ·¸°Ô ¸¸µé¾îÁø DataObject °´Ã¼¸¦ SetDataObject ¸Þ¼­µå·Î ³Ñ±â¸é µÎ °³ÀÇ Æ÷¸ËÀ» °¡Áø µ¥ÀÌÅÍ°¡ Ŭ¸³º¸µå¿¡ °°ÀÌ ÀúÀåµÈ´Ù.

ÀÌ µ¥ÀÌÅ͸¦ °¡Á®°¡´Â ÂÊ¿¡¼­´Â ÀÚ½ÅÀÌ ÇÊ¿ä·Î ÇÏ´Â Æ÷¸ËÀ» ¼±º°ÀûÀ¸·Î °ñ¶ó °¡Á®°£´Ù. GetData·Î ÀÐÀ» ¶§ ¿øÇÏ´Â Æ÷¸ËÀ» ¹àÈ÷´Âµ¥ ¿©±â¼­ ÀÐÀ» Æ÷¸ËÀ» ÁöÁ¤ÇÑ´Ù. °¡±ÞÀûÀÌ¸é »ó¼¼ÇÑ Æ÷¸ËÀÇ µ¥ÀÌÅ͸¦ ºÙ¿©³Ö´Â °ÍÀÌ ¼­½ÄÀ» ÃÖ´ëÇÑ ºñ½ÁÇÏ°Ô À¯ÁöÇÒ ¼ö ÀÖ¾î À¯¸®ÇÏ´Ù. µÎ ¹öÆ°ÀÇ Å¬¸¯ À̺¥Æ®¿¡¼­ °¢°¢ ÅؽºÆ®¿Í HTML Æ÷¸ËÀ» Àд ½Ã¹üÀ» º¸¿´´Ù.