![]() | Programming Guide | WideStudio/MWT Index Table of contents |
»ç¿ëÀÚ ´ëÈ »óÀÚ
°£´ÜÇÑ »ç¿ëÀÚ ´ëÈ »óÀÚÀÇ ÀÛ¼º
WSCdialog ¸¦ »ç¿ëÇØ¼ °£´ÜÇÑ »ç¿ëÀÚ ´ëÈ »óÀÚ¸¦ ÀÛ¼ºÇغ¾½Ã´Ù. ´ÙÀ½°ú °°Àº ±â´ÉÀ» °¡Áö°íÀÖ´Ù°í ÇÕ´Ï´Ù.
¾î´À ´ÜÃ߸¦ ´©·ç¸é ´ëÈ »óÀÚ°¡ Ç¥½ÃµÈ´Ù. ´ëÈ »óÀÚ¿¡´Â ÀÔ·Â Çʵå¿Í ¶óµð¿À¹öư ±×·ìÀÌ ÀÖ´Ù. ´ëÈ »óÀÚ Á¾·á½Ã¿¡ Á¤È®È÷ ÀԷµǿ©Àִ°¡¸¦ üũÇÑ´Ù. ´ëÈ »óÀÚÀÇ ÀԷ°á°ú¸¦ ¶óº§¿¡ Ç¥½ÃÇÕ´Ï´Ù. ÀÌ »ùÇÃÀº ws/sampes/share/dialog/newproject.prj ·Î Á¦°øµÇ¿©ÀÖ½À´Ï´Ù.
[»ç¿ëÀÚ ´ëÈ »óÀÚ¸¦ »ç¿ëÇÑ »ùÇÃ]»ç¿ëÀÚ ´ëÈ »óÀÚÀÇ ÆË¾÷ Á¦¾î
ws/sampes/share/dialog/newproject.prj ·Î Á¦°øµÇ¿©ÀÖ´Â »ùÇÃÀ» ¹ØÀ¸·Î »ç¿ëÀÚ ´ëÈ »óÀÚÀÇ ÆË¾÷ Á¦¾î¸¦ º¾½Ã´Ù. ´ëÈ »óÀÚªÏ, ÀÔ·Â,ȤÀº Ç¥½Ã¸¦ ½ÇÇà½Ãų Àü¿ë À©µµ¿ì·Î¼ ¸¹ÀÌ ÀÌ¿ëµË´Ï´Ù. µû¶ó¼ ÀϹÝÀûÀÎÀ©µµ¿ì·Î¼ ÀÛ¼ºÇÏ¸é »çÁ¤ÀÌ ³ª»Ü °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é º¹¼öÀÇ Àå¼Ò(À̺¥Æ® ÇÁ·Î½ÃÀú)¿¡¼ °°Àº ´ëÈ »óÀÚ¸¦ ºÎ¸¥´Ù°í ÇսôÙ.
ÀÌ °æ¿ì, ÀϹÝÀûÀÎÀ©µµ¿ì·Î¼ ÀÛ¼ºÇϸç´Â ´ëÈ »óÀÚÀÇ ÀÔ·ÂÀÌ ³¡³ °æ¿ìÀÇ ¾Ë¸²À» ¹Þ¾Æµå¸®±â°¡ º¹ÀâÇÏ°Ô µË´Ï´Ù. ±×·¯³ª ´ëÈ »óÀÚ·Î ¸¸µç °æ¿ì¿¡´Â ´ëÈ »óÀÚ ÀÔ·Â Á¾·á°¡ popup ¸Þ¼µå¿¡ÀÇÇÑ ¿Ï·á º¹±Í·Î µ¿±â¸¦ ÀâÀ»¼ö Àֱ⿡ °£´ÜÀÌ À̺¥Æ® ÇÁ·Î½ÃÀú¿¡¼ ´ëÈ »óÀÚ ÀÔ·ÂÀÇ Á¦¾î°¡ ½ÇÇàÇÒ¼ö ÀÖ½À´Ï´Ù.
±×¸²Àº Ç¥½ÃµÈ À©µµ¿ì°¡ °á°ú¸¦ µÇµ¹¸± °æ¿ìÀÇ À©µµ¿ì¿Í ´ëÈ »óÀÚÀÇ Â÷À̸¦ Ç¥½ÃÇѰÍÀÔ´Ï´Ù.°£´ÜÇÑ ´ëÈ »óÀÚÀÇ Ã³¸®¼ø¼¿¡ µû¶ó ¼³¸íÇսôÙ. ¸ÕÀú ´ëÈ »óÀÚÀÇ ÀÛ¼ºÀÔ´Ï´Ù. WSCdialog Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ Çϳª ÀÛ¼ºÇÕ´Ï´Ù. ´ëÈ »óÀÚÀ§¿¡ °¢°¢ÀÇ °´Ã¼¸¦ ¹èÄ¡ÇÕ´Ï´Ù. »ùÇ÷δ ¾Æ·¡ÀÇ °´Ã¼¸¦ ¹èÄ¡ÇϰíÀÖ½À´Ï´Ù.
[À©µµ¿ì¿Í »ç¿ëÀÚ ´ëÈ »óÀÚ¸¦ »ç¿ëÇÑ °æ¿ìÀÇ Â÷ÀÌ]
WSCvifield* newvifi_003 WSCradioGroup* newradi_006 ´ÙÀ½¿¡ ´ëÈ »óÀÚÀÇ OK,NO,CANCEL ´ÜÃß°¡ ´¸®¿î °æ¿ìÀÇ Ã³¸®¸¦ ±â¼úÇÕ´Ï´Ù. ´ëÈ »óÀÚ¿¡ ACITVATE Æ®¸®°Å(trigger)·Î À̺¥Æ® ÇÁ·Î½ÃÀú¸¦ ºÙ¿©³õ½À´Ï´Ù. ÀÌ À̺¥Æ® ÇÁ·Î½ÃÀú´Â ´ëÈ »óÀÚ¿¡ Á¤È®È÷ ÀԷµǿ´´Â°¡¸¦ üũÇϰí ÀÔ·ÂÀÌ ¾ÈµÇ¿´´õ¶ó¸é ¸Þ½ÃÁö ´ëÈ »óÀÚ·Î ¿À·ù¸¦ Ç¥½ÃÇÕ´Ï´Ù.
[°£´ÜÇÑ »ç¿ëÀÚ ´ëÈ »óÀÚÀÇ ¿¹]#include <WScom.h> #include <WSCfunctionList.h> #include <WSCbase.h> //---------------------------------------------------------- //Function for the event procedure //---------------------------------------------------------- #include <WSCdialog.h> #include <WSCvifield.h> #include <WSCradioGroup.h> #include <WSCmessageDialog.h> extern WSCvifield* newvifi_003; extern WSCradioGroup* newradi_006; void dialogep(WSCbase* object){ WSCdialog* dialog = (WSCdialog*)object->cast("WSCdialog"); if (dialog == NULL){ //A return; } if (dialog->getStatus() != WS_DIALOG_OK){ //B object->setVisible(False); return; } WSCstring str; str = newvifi_003->getProperty(WSNlabelString); if (!strcmp((char*)str,"")){ //C WSCmessageDialog* msg = WSGIappMessageDialog(); msg->setProperty(WSNdefaultPosition,True); msg->setProperty(WSNwidth,500); msg->setProperty(WSNlabelString,"Please input some string to the input field."); msg->popup(); //D return; } long val = newradi_006->getProperty(WSNvalue); if (val == 0){ //E WSCmessageDialog* msg = WSGIappMessageDialog(); msg->setProperty(WSNdefaultPosition,True); msg->setProperty(WSNwidth,500); msg->setProperty(WSNlabelString,"Please select a item of the radio group."); msg->popup(); //F return; } object->setVisible(False); //E } static WSCfunctionRegister op("dialogep",(void*)dialogep);¸ÕÀú À̺¥Æ® ÇÁ·Î½ÃÀú¸¦ ºÙ¿©³õÀº ´ëÈ »óÀÚÀÇ Å¬·¡½º Æ÷ÀÎÅ͸¦ ÃëµæÇÕ´Ï´Ù. ¿Ö³ÄÇÏ¸é ´ëÈ »óÀÚ Å¬·¡½º°íÀ¯ÀÇ getStatus ¸Þ¼µå¿¡ Á¢±Ù(Access)ÇØ¼ ´¸®¿î ´ÜÃßÀÇ Á¾·ù¸¦ Á¶»çÇϱâÀ§Çؼ ÀÔ´Ï´Ù.
A ¿¡¼ ´ëÈ »óÀÚ Å¬·¡½º¾Æ´Ñ °æ¿ì À̺¥Æ® ÇÁ·Î½ÃÀú¸¦ Á¾·áÇÕ´Ï´Ù. B ¿¡¼´Â ´¸®¿î ´ÜÃ߸¦ üũÇÕ´Ï´Ù. OK ´ÜÃ߿ܴ ´ëÈ »óÀÚ¸¦ ±×´ë·Î ºÒ°¡½ÃÈÇÕ´Ï´Ù.
C ´Â newvifi_003 ¿¡ ÀԷµǿ©Àִ°¡¸¦ üũÇÕ´Ï´Ù. ÀԷ¾ȵǿ©ÀÖ´Â °æ¿ì´Â D ¿¡¼ ¸Þ½ÃÁö ´ëÈ »óÀÚ¸¦ Ç¥½ÃÇØ¼ Á¾·áÇÕ´Ï´Ù. E ¿¡¼ newradi_006 ÀÌ ¼±Åõǿ©Àִ°¡ üũÇÕ´Ï´Ù. ¼±Åþȵǿ©ÀÖ´Â °æ¿ì´Â F ·Î ¸Þ½ÃÁö ´ëÈ »óÀÚ¸¦ Ç¥½ÃÇØ¼ Á¾·áÇÕ´Ï´Ù.
´ÙÀ½¿¡ E ¿¡¼ ÀÔ·ÂÀÌ Á¤È®ÇÑ °æ¿ì¿¡´Â ´ëÈ »óÀÚ¸¦ ºÒ°¡½ÃÈÇÕ´Ï´Ù. ÀÌ ¶§ ÀÌ ´ëÈ »óÀÚ¸¦ ºÒ°¡½ÃÈÇÔÀ¸·Î¼ ÀÌ ´ëÈ »óÀÚ¸¦ ºÒ·¯³õÀº popup ¸Þ¼µå°¡ º¹±ÍÇÕ´Ï´Ù. µû¶ó¼ ºÒ°¡½ÃÈ ¾ÈÇÑ °æ¿ì, ´ëÈ »óÀÚ°¡ Á¾·á¾ÈÇÕ´Ï´Ù.
´ÙÀ½¿¡´Â ´ëÈ »óÀÚ¸¦ ºÎ·¯³õÀº À̺¥Æ® ÇÁ·Î½ÃÀúÀÇ ¿¹ÀÔ´Ï´Ù.[dialog!] ¶ó°í Ç¥½ÃµÈ ´ÜÃ߸¦ ´©¸£¸é ´ëÈ »óÀÚ°¡ Ç¥½ÃµÇ¿© ÀÔ·ÂÇÑ °á°ú°¡ 3°³ÀÇ ¶óº§¿¡ Ç¥½ÃµË´Ï´Ù. ù° ¶óº§¿¡´Â ´ëÈ »óÀÚÀÇ OK,NO,CANCEL ´ÜÃß°¡ ´©·¯Áø °á°ú. µÑ° ¶óº§¿¡´Â newvifi_003 ¿¡ ÀÔ·ÂµÈ °á°ú. ¼Â° ¶óº§¿¡´Â newradi_006 ¿¡¼ ¼±ÅÃµÈ °á°ú¸¦ Ç¥½ÃÇÕ´Ï´Ù.
[»ç¿ëÀÚ ´ëÈ »óÀÚ¸¦ ºÒ·¯³õÀº ȸéÀÇ ¿¹]#include <WScom.h> #include <WSCfunctionList.h> #include <WSCbase.h> //---------------------------------------------------------- //Function for the event procedure //---------------------------------------------------------- #include <WSCdialog.h> #include <WSCvifield.h> #include <WSCradioGroup.h> #include <WSCvlabel.h> extern WSCdialog* newdial_001; extern WSCvifield* newvifi_003; extern WSCradioGroup* newradi_006; extern WSCvlabel* newvlab_007; extern WSCvlabel* newvlab_010; extern WSCvlabel* newvlab_011; void btnep(WSCbase* object){ long val = newdial_001->popup(); if (val == WS_DIALOG_OK){ newvlab_007->setProperty(WSNlabelString,"DIALOG OK!"); }else if (val == WS_DIALOG_NO){ newvlab_007->setProperty(WSNlabelString,"DIALOG NO!"); }else if (val == WS_DIALOG_CANCEL){ newvlab_007->setProperty(WSNlabelString,"DIALOG CANCEL!"); } WSCstring tmp; tmp = newvifi_003->getProperty(WSNlabelString); WSCstring tmp2; tmp2 << "INPUT: " << tmp; newvlab_010->setProperty(WSNlabelString,tmp2); val = newradi_006->getProperty(WSNvalue); tmp2 = "SELECT: "; tmp2 << val; newvlab_011->setProperty(WSNlabelString,tmp2); } static WSCfunctionRegister op("btnep",(void*)btnep);
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |