{"id":180,"date":"2014-07-09T02:36:40","date_gmt":"2014-07-09T11:36:40","guid":{"rendered":"http:\/\/blog.box.kr\/?p=180"},"modified":"2014-07-09T02:36:40","modified_gmt":"2014-07-09T11:36:40","slug":"contextmenu%eb%8f%99%ec%a0%81%ec%9c%bc%eb%a1%9c-%ec%bd%98%ed%85%8d%ec%8a%a4%ed%8a%b8-%eb%a9%94%eb%89%b4-%ec%83%9d%ec%84%b1","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=180","title":{"rendered":"[ContextMenu]\ub3d9\uc801\uc73c\ub85c \ucf58\ud14d\uc2a4\ud2b8 \uba54\ub274 \uc0dd\uc131"},"content":{"rendered":"<p style=\"color: #909090;\">MFC \uc77c \uacbd\uc6b0 OnContextMenu\uc5d0\uc11c \uc544\ub798\uc640 \uac19\uc774 \uc0dd\uc131\ud55c\ub2e4.<\/p>\n<table style=\"color: #909090;\" width=\"610\" cellspacing=\"1\" cellpadding=\"1\" bgcolor=\"#ffffff\">\n<tbody>\n<tr>\n<td width=\"100%\"><span style=\"font-size: small;\"><span style=\"color: blue;\">void<\/span><span style=\"color: #000000;\">\u00a0<\/span><span style=\"color: #020002;\">CCustomCtrl<\/span><span style=\"color: #000000;\">::<\/span><span style=\"color: #020002;\"><span style=\"color: #000000;\">OnContextMenu<\/span><\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">CWnd<\/span><span style=\"color: #000000;\">\u00a0*\u00a0<\/span><span style=\"color: #020002;\">pWnd<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">CPoint<\/span><span style=\"color: #000000;\">\u00a0<\/span><span style=\"color: #020002;\">point<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">{<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">CMenu<\/span><span style=\"color: #000000;\">\u00a0<\/span><span style=\"color: #020002;\">Menu<\/span><span style=\"color: #000000;\">;<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: blue;\">if<\/span><span style=\"color: #000000;\">(\u00a0<\/span><span style=\"color: #020002;\">Menu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">CreatePopupMenu<\/span><span style=\"color: #000000;\">() ==\u00a0<\/span><span style=\"color: #020002;\">TRUE<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">{<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: blue;\">for<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">i<\/span><span style=\"color: #000000;\">=0;\u00a0<\/span><span style=\"color: #020002;\">i<\/span><span style=\"color: #000000;\">&lt;(<\/span><span style=\"color: #020002;\">UINT<\/span><span style=\"color: #000000;\">)<\/span><span style=\"color: #020002;\">m_StringArrary<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">GetCount<\/span><span style=\"color: #000000;\">();\u00a0<\/span><span style=\"color: #020002;\">i<\/span><span style=\"color: #000000;\">++)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">{<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">Menu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_STRING<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">MF_ENABLED<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">POPUPID_RANGE_START<\/span><span style=\"color: #000000;\">\u00a0+\u00a0<\/span><span style=\"color: #020002;\">i<\/span><span style=\"color: #000000;\">,<\/span><span style=\"color: #020002;\">m_StringArrary<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">GetAt<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">i<\/span><span style=\"color: #000000;\">));<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">}<\/span><\/span><\/p>\n<p align=\"left\">\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">Menu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_SEPARATOR<\/span><span style=\"color: #000000;\">, 0,\u00a0<\/span><span style=\"color: #a31515;\">&#8220;&#8221;<\/span><span style=\"color: #000000;\">);<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">Menu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_STRING<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">MF_ENABLED<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">POPUPID_ENABLELOG<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">POPUPSTR_ENABLELOG<\/span><span style=\"color: #000000;\">);<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">Menu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_STRING<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">MF_ENABLED<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">POPUPID_DIABLELOG<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">POPUPSTR_DISABLELOG<\/span><span style=\"color: #000000;\">);<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">Menu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_STRING<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">MF_ENABLED<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">POPUPID_RESET<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">POPUPSTR_RESET<\/span><span style=\"color: #000000;\">);<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">Menu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_STRING<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">MF_ENABLED<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">POPUPID_ACTIVEUIID<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">POPUPSTR_ACTIVEUIID<\/span><span style=\"color: #000000;\">);<\/span><\/span><\/p>\n<p align=\"left\">\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">Menu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">TrackPopupMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">TPM_LEFTALIGN<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">TPM_RIGHTBUTTON<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">point<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">x<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">point<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">y<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: blue;\">this<\/span><span style=\"color: #000000;\">);<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">}<\/span><\/span><\/p>\n<p><span style=\"color: #000000; font-size: small;\">}<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><br style=\"color: #909090;\" \/><span id=\"callbacknestizen8tistorycom7113121\" style=\"color: #909090;\"><\/span><span id=\"callbacknestcodemuritistorycom3495943\" style=\"color: #909090;\"><\/span><span style=\"color: #909090;\">\uadf8\ub9ac\uace0 \uc704 \uba54\uc2dc\uc9c0\ub97c \ucc98\ub9ac\ud558\uae30 \uc704\ud574 \uba54\uc2dc\uc9c0 \ub9f5\uc5d0\ub2e4\uac00 \uc544\ub798\uc640 \uac19\uc774 \uc120\uc5b8\ud55c\ub2e4.<\/span><br style=\"color: #909090;\" \/><br style=\"color: #909090;\" \/><\/p>\n<table style=\"color: #909090;\" width=\"610\" cellspacing=\"1\" cellpadding=\"1\" bgcolor=\"#ffffff\">\n<tbody>\n<tr>\n<td width=\"100%\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">BEGIN_MESSAGE_MAP<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">CCustomCtrl<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">COleControl<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">ON_COMMAND_RANGE<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">POPUPID_RANGE_START<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">POPUPID_RANGE_END<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">OnCommandRange<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">ON_COMMAND<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">POPUPID_DIABLELOG<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">OnDisableLog<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">ON_COMMAND<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">POPUPID_ENABLELOG<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">OnEnableLog<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">ON_COMMAND<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">POPUPID_RESET<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">OnResetCommand<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">ON_COMMAND<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">POPUPID_ACTIVEUIID<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">OnGetActiveUIIDCommand<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p><span style=\"font-size: small;\"><span style=\"color: #020002;\">END_MESSAGE_MAP<\/span><span style=\"color: #000000;\">()<\/span><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"color: #909090;\">\n<p style=\"color: #909090;\">ON_COMMAND_RANGE \uc758 \uacbd\uc6b0\ub294 \uc544\ub798\uc640 \uac19\uc774 \ucc98\ub9ac\ud55c\ub2e4.<\/p>\n<table style=\"color: #909090;\" width=\"610\" cellspacing=\"1\" cellpadding=\"1\" bgcolor=\"#ffffff\">\n<tbody>\n<tr>\n<td width=\"100%\">\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: blue;\">void<\/span><span style=\"color: #000000;\">\u00a0<\/span><span style=\"color: #020002;\">CCusomCtrl<\/span><span style=\"color: #000000;\">::<\/span><span style=\"color: #020002;\">OnCommandRange<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">UINT<\/span><span style=\"color: #000000;\">\u00a0<\/span><span style=\"color: #020002;\">uiCommandID<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">{<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">switch(uiCommandID) {<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">};<\/span><\/span><\/p>\n<p><span style=\"color: #000000; font-size: small;\">}<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p style=\"color: #909090;\">\n<p style=\"color: #909090;\">\n<p style=\"color: #909090;\">\n\ucc38\uace0\ub85c BCG\uc5d0\uc11c\ub294 \uc544\ub798\uc640 \uac19\uc774 \ucc98\ub9ac\ud55c\ub2e4.<\/p>\n<table style=\"color: #909090;\" width=\"610\" cellspacing=\"1\" cellpadding=\"1\" bgcolor=\"#ffffff\">\n<tbody>\n<tr>\n<td width=\"100%\">\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: blue;\">void<\/span><span style=\"color: #000000;\">\u00a0<\/span><span style=\"color: #020002;\">CQueryBuilderGridCtrl<\/span><span style=\"color: #000000;\">::<\/span><span style=\"color: #020002;\">OnContextMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">CWnd<\/span><span style=\"color: #000000;\">*\u00a0<\/span><span style=\"color: #020002;\">pWnd<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">CPoint<\/span><span style=\"color: #000000;\">\u00a0<\/span><span style=\"color: #020002;\">point<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">{<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">CMenu<\/span><span style=\"color: #000000;\">\u00a0<\/span><span style=\"color: #020002;\">contextMenu<\/span><span style=\"color: #000000;\">;<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: blue;\">if<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">contextMenu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">CreatePopupMenu<\/span><span style=\"color: #000000;\">() ==\u00a0<\/span><span style=\"color: #020002;\">TRUE<\/span><span style=\"color: #000000;\">)<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">{<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">contextMenu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_STRING<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">MF_ENABLED<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">QBGC_ID_SEARCH<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">_T<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #a31515;\">&#8220;&amp;Search&#8221;<\/span><span style=\"color: #000000;\">) );<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">contextMenu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_SEPARATOR<\/span><span style=\"color: #000000;\">, 0,\u00a0<\/span><span style=\"color: #a31515;\">&#8220;&#8221;<\/span><span style=\"color: #000000;\">);<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">contextMenu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_STRING<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">MF_ENABLED<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">QBGC_ID_INSERT<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">_T<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #a31515;\">&#8220;&amp;Insert&#8221;<\/span><span style=\"color: #000000;\">) );<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">contextMenu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_STRING<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">MF_ENABLED<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">QBGC_ID_DELETE<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">_T<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #a31515;\">&#8220;&amp;Delete&#8221;<\/span><span style=\"color: #000000;\">) );<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">contextMenu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_STRING<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">MF_ENABLED<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">QBGC_ID_GROUP<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">_T<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #a31515;\">&#8220;&amp;Group&#8221;<\/span><span style=\"color: #000000;\">) );<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">contextMenu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">AppendMenu<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #020002;\">MF_STRING<\/span><span style=\"color: #000000;\">\u00a0|\u00a0<\/span><span style=\"color: #020002;\">MF_ENABLED<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">QBGC_ID_UNGROUP<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">_T<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #a31515;\">&#8220;&amp;Ungroup&#8221;<\/span><span style=\"color: #000000;\">) );<\/span><\/span><\/p>\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #020002;\">CBCGPPopupMenu<\/span><span style=\"color: #000000;\">\u00a0*\u00a0<\/span><span style=\"color: #020002;\">pPopupMenu<\/span><span style=\"color: #000000;\">\u00a0=\u00a0<\/span><span style=\"color: blue;\">new<\/span><span style=\"color: #000000;\">\u00a0<\/span><span style=\"color: #020002;\">CBCGPPopupMenu<\/span><span style=\"color: #000000;\">;<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: blue;\">if<\/span><span style=\"color: #000000;\">\u00a0(!<\/span><span style=\"color: #020002;\">pPopupMenu<\/span><span style=\"color: #000000;\">-&gt;<\/span><span style=\"color: #020002;\">Create<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: blue;\">this<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">point<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">x<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">point<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">y<\/span><span style=\"color: #000000;\">,\u00a0<\/span><span style=\"color: #020002;\">contextMenu<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #020002;\">GetSafeHmenu<\/span><span style=\"color: #000000;\">(),\u00a0<\/span><span style=\"color: #020002;\">FALSE<\/span><span style=\"color: #000000;\">,<\/span><span style=\"color: #020002;\">TRUE<\/span><span style=\"color: #000000;\">))<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">{<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: blue;\">return<\/span><span style=\"color: #000000;\">;<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">}<\/span><\/span><\/p>\n<p align=\"left\">\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">((<\/span><span style=\"color: #020002;\">CBCGPFrameWnd<\/span><span style=\"color: #000000;\">*)<\/span><span style=\"color: #020002;\">AfxGetMainWnd<\/span><span style=\"color: #000000;\">())-&gt;<\/span><span style=\"color: #020002;\">OnShowPopupMenu<\/span><span style=\"color: #000000;\">\u00a0(<\/span><span style=\"color: #020002;\">pPopupMenu<\/span><span style=\"color: #000000;\">);<\/span><\/span><\/p>\n<p align=\"left\"><span style=\"font-size: small;\"><span style=\"color: #000000;\">}<\/span><\/span><\/p>\n<p><span style=\"color: #000000; font-size: small;\">}<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><br style=\"color: #909090;\" \/><span style=\"color: #909090;\">\ub9cc\uc57d \uc88c\ud45c\uac00 \uc815\ud655\uce58 \uc54a\uc740 \uacbd\uc6b0 ClientToScreen \ub610\ub294 ScreenToClient\ub97c \ud65c\uc6a9\ud55c\ub2e4.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MFC \uc77c \uacbd\uc6b0 OnContextMenu\uc5d0\uc11c \uc544\ub798\uc640 \uac19\uc774 \uc0dd\uc131\ud55c\ub2e4. void\u00a0CCustomCtrl::OnContextMenu(CWnd\u00a0*\u00a0pWnd,\u00a0CPoint\u00a0point) { CMenu\u00a0Menu; if(\u00a0Menu.CreatePopupMenu() ==\u00a0TRUE) { for(i=0;\u00a0i&lt;(UINT)m_StringArrary.GetCount();\u00a0i++) { Menu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0POPUPID_RANGE_START\u00a0+\u00a0i,m_StringArrary.GetAt(i)); } Menu.AppendMenu(MF_SEPARATOR, 0,\u00a0&#8220;&#8221;); Menu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0POPUPID_ENABLELOG,\u00a0POPUPSTR_ENABLELOG); Menu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0POPUPID_DIABLELOG,\u00a0POPUPSTR_DISABLELOG); Menu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0POPUPID_RESET,\u00a0POPUPSTR_RESET); Menu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0POPUPID_ACTIVEUIID,\u00a0POPUPSTR_ACTIVEUIID); Menu.TrackPopupMenu(TPM_LEFTALIGN\u00a0|\u00a0TPM_RIGHTBUTTON,\u00a0point.x,\u00a0point.y,\u00a0this); } } \uadf8\ub9ac\uace0 \uc704 \uba54\uc2dc\uc9c0\ub97c \ucc98\ub9ac\ud558\uae30 \uc704\ud574 \uba54\uc2dc\uc9c0 \ub9f5\uc5d0\ub2e4\uac00 \uc544\ub798\uc640 \uac19\uc774 \uc120\uc5b8\ud55c\ub2e4. BEGIN_MESSAGE_MAP(CCustomCtrl,\u00a0COleControl) ON_COMMAND_RANGE(POPUPID_RANGE_START,\u00a0POPUPID_RANGE_END,\u00a0OnCommandRange) ON_COMMAND(POPUPID_DIABLELOG,\u00a0OnDisableLog) ON_COMMAND(POPUPID_ENABLELOG,\u00a0OnEnableLog) ON_COMMAND(POPUPID_RESET,\u00a0OnResetCommand) ON_COMMAND(POPUPID_ACTIVEUIID,\u00a0OnGetActiveUIIDCommand) END_MESSAGE_MAP() ON_COMMAND_RANGE \uc758 \uacbd\uc6b0\ub294 \uc544\ub798\uc640 \uac19\uc774 \ucc98\ub9ac\ud55c\ub2e4. void\u00a0CCusomCtrl::OnCommandRange(UINT\u00a0uiCommandID) { switch(uiCommandID) { }; } &nbsp; \ucc38\uace0\ub85c BCG\uc5d0\uc11c\ub294 \uc544\ub798\uc640 \uac19\uc774 \ucc98\ub9ac\ud55c\ub2e4. void\u00a0CQueryBuilderGridCtrl::OnContextMenu(CWnd*\u00a0pWnd,\u00a0CPoint\u00a0point) { CMenu\u00a0contextMenu; if(contextMenu.CreatePopupMenu() ==\u00a0TRUE) { contextMenu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0QBGC_ID_SEARCH,\u00a0_T(&#8220;&amp;Search&#8221;) ); contextMenu.AppendMenu(MF_SEPARATOR, 0,\u00a0&#8220;&#8221;); contextMenu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0QBGC_ID_INSERT,\u00a0_T(&#8220;&amp;Insert&#8221;) ); contextMenu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0QBGC_ID_DELETE,\u00a0_T(&#8220;&amp;Delete&#8221;) ); contextMenu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0QBGC_ID_GROUP,\u00a0_T(&#8220;&amp;Group&#8221;) ); contextMenu.AppendMenu(MF_STRING\u00a0|\u00a0MF_ENABLED,\u00a0QBGC_ID_UNGROUP,\u00a0_T(&#8220;&amp;Ungroup&#8221;) ); CBCGPPopupMenu\u00a0*\u00a0pPopupMenu\u00a0=\u00a0new\u00a0CBCGPPopupMenu; if\u00a0(!pPopupMenu-&gt;Create(this,\u00a0point.x,\u00a0point.y,\u00a0contextMenu.GetSafeHmenu(),\u00a0FALSE,TRUE)) { return; } ((CBCGPFrameWnd*)AfxGetMainWnd())-&gt;OnShowPopupMenu\u00a0(pPopupMenu); } } \ub9cc\uc57d \uc88c\ud45c\uac00 \uc815\ud655\uce58 \uc54a\uc740 \uacbd\uc6b0 ClientToScreen \ub610\ub294 ScreenToClient\ub97c \ud65c\uc6a9\ud55c\ub2e4.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[9,7],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-2U","jetpack-related-posts":[{"id":238,"url":"https:\/\/blog.box.kr\/?p=238","url_meta":{"origin":180,"position":0},"title":"C++11","date":"2014-07-23","format":false,"excerpt":"http:\/\/en.wikipedia.org\/wiki\/C%2B%2B11#Hash_tables","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":335,"url":"https:\/\/blog.box.kr\/?p=335","url_meta":{"origin":180,"position":1},"title":"\uc815\uaddc\ud45c\ud604\uc2dd(Regular Expression) on C++","date":"2014-08-11","format":false,"excerpt":"*\u00a0C++ Regex 2011\ub144 \uacbd C++\uc758 \uc0c8\ub85c\uc6b4 \ud45c\uc900 C++11 (C++0x)\uc744 \uc815\uc758\ud558\ub294 \uacfc\uc815\uc5d0\uc11c Boost.Regex\uac00 \ud45c\uc900\uc73c\ub85c \ud3ec\ud568\ub418\uc5c8\ub2e4. C++11\uc758 \uc815\uaddc\ud45c\ud604\uc2dd \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 <regex> \ud5e4\ub354\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\ub2e4.\uc774\ub85c \uc778\ud574 \ubcc4\ub3c4\uc758 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc124\uce58\ud558\uc9c0 \uc54a\uace0\ub3c4 \uc190\uc27d\uac8c \uc815\uaddc\ud45c\ud604\uc2dd \uae30\ub2a5\uc744 \ud65c\uc6a9\ud560 \uc218 \uc788\uac8c \ub418\uc5c8\ub2e4. \ucd5c\uc2e0 \ubc84\uc804\uc758 Visual C++, GNU C++ \ucef4\ud30c\uc77c\ub7ec\ub294 std::regex\ub97c \ud3ec\ud568\ud55c C++11 \ud45c\uc900\uc774 \uc815\uc758\ud55c \ub300\ubd80\ubd84\uc758 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud55c\ub2e4. \ucef4\ud30c\uc77c\ub7ec\ubcc4 C++11\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":236,"url":"https:\/\/blog.box.kr\/?p=236","url_meta":{"origin":180,"position":2},"title":"INI Reader \/ Writer Class for MFC and ANSI C++ ( Windows  Linux )","date":"2014-07-23","format":false,"excerpt":"http:\/\/www.codeproject.com\/Articles\/12914\/INI-Reader-Writer-Class-for-MFC-and-ANSI-C-Windows","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":252,"url":"https:\/\/blog.box.kr\/?p=252","url_meta":{"origin":180,"position":3},"title":"[\uac1c\ubc1c\/VC++] URLEncode, URLDecode, UTF8 \ubcc0\ud658 \uc18c\uc2a4","date":"2014-07-23","format":false,"excerpt":"[\uac1c\ubc1c\/VC++] URLEncode, URLDecode, UTF8 \ubcc0\ud658 \uc18c\uc2a4 IT\/\uac1c\ubc1c\u00a02011\/02\/10 12:05 [\uac1c\ubc1c\/VC++] URLEncode, URLDecode, UTF8 \ubcc0\ud658 \uc18c\uc2a4 \uc544\ub798 \uc18c\uc2a4\ub294 \uba40\ud2f0\ubc14\uc774\ud2b8 \ubb38\uc790\uc9d1\ud569 \ud504\ub85c\uc81d\ud2b8 \uc124\uc815\uc73c\ub85c \uc791\uc5c5\ud574\uc57c \uc791\ub3d9\ub41c\ub2e4. inline BYTE toHex(const BYTE &x) { return x > 9 ? x + 55: x + 48; } CString URLEncode(CString sIn) { CString sOut; const int nLen =\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":890,"url":"https:\/\/blog.box.kr\/?p=890","url_meta":{"origin":180,"position":4},"title":"CMAKE compile options and etc options","date":"2015-06-11","format":false,"excerpt":"cmake -G \"Unix Makefiles\" -DCMAKE_INSTALL_PREFIX=`pwd`\/install -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_C_COMPILER=`xcrun -f clang` -DCMAKE_CXX_COMPILER=`xcrun -f clang++` -DwxWidgets_CONFIG_EXECUTABLE=..\/..\/..\/wxWidgets\/install\/bin\/wx-config -DwxWidgets_COMPONENTS=\"stc;html;aui;adv;core;net;base\" -DwxLuaBind_COMPONENTS=\"stc;html;aui;adv;core;net;base\" -DwxLua_LUA_LIBRARY_USE_BUILTIN=FALSE -DwxLua_LUA_LIBRARY_VERSION=5.2 -DBUILD_USE_PRECOMPILED_HEADERS=FALSE -DCMAKE_CXX_FLAGS='-std=c++11 -stdlib=libc++ -Wno-c++11-narrowing' -DwxLua_LUA_LIBRARY_USE_BUILTIN=TRUE -DwxLua_LUA_LIBRARY_BUILD_SHARED=TRUE \u00a0 fin.","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1181,"url":"https:\/\/blog.box.kr\/?p=1181","url_meta":{"origin":180,"position":5},"title":"C++ Development using Visual Studio Code, CMake and LLDB","date":"2017-04-14","format":false,"excerpt":"this article are captured as \"https:\/\/medium.com\/audelabs\/c-development-using-visual-studio-code-cmake-and-lldb-d0f13d38c563\" \u00a0 I\u2019ve been working for almost a year implementing micro-services on C++11 running as Docker containers. Through my journey I\u2019ve seen to emerge quite a bunch of interesting tools to work with C++ on this field (micro-services and Docker). I started using Xcode on\u2026","rel":"","context":"In &quot;VSC&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/180"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=180"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/180\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}