|
@ 2004-06-16 @
^^* ¿©±â¿¡ Á¤¸®µÈ ³»¿ëÀº Ã¥°ú ÀÎÅÍ³Ý µîÀ» Âü°í·Î °³ÀÎÀûÀÎ ¸ñÀûÀ¸·Î Á¤¸®ÇÑ °Ì´Ï´Ù.
* if( GetAsyncKeyState( 'F' )) Isfollow = !Isfollow;
if( GetAsyncKeyState( 'T' )) IsThreat = IsThreat;
* MFC¿¡¼ Escape ŰÁ¤ÀÇif( GetAsyncKeyState( 'H' )) IsHeat = IsHeat; if( GetAsyncKeyState( 'Z' )) IsZoom = IsZoom;
IDR_MAINFRAME ACCELERATORS PRELOAD MOVEABLE PURE
* MessageBox(NULL, "BuildHeightMap- Error", "Cannot found", 0);BEGIN
VK_ESCAPE, ID_APP_EXIT, VIRTKEY, NOINVERT
END...... * DoModal ÇÔ¼ö·Î È£ÃâµÈ ´ÙÀÌ¾Ë·Î±× À§Ä¡ Á¦¾î
MFC¿¡¼ Áö¿øÇÏ´Â ¾Æ·¡¿Í °°Àº ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ´Â ¹æ¹ý
ON_COMMAND_RANGE(id1, id2, memberFxn ) 1) ¿©±â¼ ¸®¼Ò½º ¹øÈ£ id1, id2 ´Â ½ÃÄö½ºÇÑ ¹øÈ£·Î ºÎ¿©
¿¹·Î
2) À̰ÍÀº À§ÀÚµå·Î ¾ÈµÇ°í ¼öÀÛ¾÷À¸·Î ÄÚµùÇÑ´Ù.IDC_BUTTON1 1000 ÀÌ¿´´Ù¸é IDC_BUTTON2 1001 IDC_BUTTON3 1002 : IDB_BUTTON8 1007 id1 = IDC_BUTTON1, id2 = IDC_BUTTON8 ·Î ¼³Á¤ÇÏ¸é ¸â¹öÇÔ¼ö memberFxn À» ÇØÁÖ¸é IDC_BUTTON1 ~ IDC_BUTTON8 ¹öưÀ» ´·¯ ÁÙ ¶§¸¶´Ù ¸â¹öÇÔ¼ö memberFxn ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
3) ¸¸¾à À̺¥Æ®°¡ ¹ß»ýÇÏÁö ¾ÊÀ¸¸é ¸ÞÀÎÇÁ·¹ÀÓ¿¡ IDR_MYMENU ÀÌ·±½ÄÀ¸·Î ¸Þ´º¸¦ Çϳª ´õ µî·ÏÇÏ°í ¿©±â¿¡ °¢°¢ÀÇ ¹öư ¸®¼Ò½º ¾ÆÀ̵ð¶û °°Àº°ÍÀ¸·Î ¸Þ´º¸¦ Ãß°¡ÇÑ´Ù.
// ...
ON_COMMAND_RANGE(IDC_BUTTON1, IDC_BUTTON8, OnButtonClick) END_MESSAGE_MAP() void CMyView::OnButtonClick(UINT nID) { } Çì´õÆÄÀÏ¿¡´Â... // Generated message map functions //{{AFX_MSG(CSourceEditView) //}}AFX_MSG DECLARE_MESSAGE_MAP()
CBitmapButtonÀ¸·Î ¸¸µç ¹öưÀº push button Çü½ÄÀÌ´Ù.
* CBitmapButton ¸¸µå´Â ¹ý_2 1) ¸ÕÀú Form¿¡ ¹öưÀ» ¸¸µé°í Style¿¡¼ Owner Draw¸¦ ²À üũ 2) ¹öưÀÇ Ä¸¼ÇÀ» °£´ÜÇÏ°Ô ÁöÁ¤(Áß¿ä)
¿¹¸¦ µé¾î ĸ¼ÇÀÌ "ONE"À̶ó¸é..
3) ÀÌÁ¦ ¸®¼Ò½º¿¡ ¹öư ±×¸²µéÀ» Ãß°¡ÇÕ´Ï´Ù.
À̶§ Ãß°¡ ÇÏ´Â ¸®¼Ò½º À̸§Àº
4) CBitmapButton °´Ã¼¸¦ ¸â¹öº¯¼ö·Î ¸¸µì´Ï´Ù.2¹ø¿¡¼ ÁöÁ¤ÇÑ Ä¸¼ÇÀÇ À̸§µÚ¿¡ "D" "F" "U" "X" ¸¦ ºÙÀÔ´Ï´Ù À̸¦Å׸é "ONED" "ONEF" "ONEU" "ONEX" °°Àº ½ÄÀ¸·Î ¸»ÀÔ´Ï´Ù. "U"=UP/ "D"=Down/ "F"=Æ÷Ä¿½º/ "X"=disable ÀÇ ¶æ 5) OnInitialUpdate() ¿¡ ´ÙÀ½°ú °°ÀÌ ¾¹´Ï´Ù
¹æ¹ý 1°ú Å©°Ô ´Ù¸£Áö ¾Ê°í, ¸Ê ¿¬°á ¹æ¹ý¿¡¼ Â÷À̰¡ ÀÖ´Ù.
1) ¹öưÀÇ ¼Ó¼ºÁß¿¡ property -> style ¿¡¼ Owner draw ²À check !! 2) ºñÆ®¸ÊÀ¸·Î ¾º¿ï ±×¸²µéÀ» ÇÁ·ÎÁ§Æ®ÀÇ Bit ¸ã ºÎºÐ¿¡ Insert ½ÃÅ´
(Á¤ÀûÀÎ ´À³¦À» ÇÇÇϱâ À§ÇØ ±×¸²Àº µÎ°³¸¦ Áغñ)
3) ÇØ´ç ´ÙÀÌ¾Ë·Î±× ¹Ú½ºÀÇ ¹öư¿¡ ÇØ´çÇÏ´Â º¯¼ö¸¦ Ãß°¡½ÃÄÑ ÁÜ(¹°·Ð ÇØµå¿¡ º¯¼ö¸¦ Á¤ÀÇ).h ÆÄÀÏ ºÎºÐ¿¡¼ public ºÎºÐ¿¡ ¸¸µé¾î Áֽðí .cpp ºÎºÐ¿¡
void CADD_AND_DEL_FRIEND::DoDataExchange(CDataExchange* pDX)
4) ´ÙÀ̾˷αװ¡ »ý¼ºµÇ´Â ÃʱâÈ ºÎºÐ¿¡¼ ¹öư°ú À̹ÌÁö¸¦ ¿¬°á½ÃÄÑÁØ´Ù.{
CDialog::DoDataExchange(pDX);
}//{{AFX_DATA_MAP(CADD_AND_DEL_FRIEND) ... DDX_Control(pDX, IDOK, m_OK); // º¯¼ö¸¦ ÇØ´ç ¾ÆÀ̵ð¿Í ¿¬°á ½ÃÄÑÁØ´Ù. DDX_Control(pDX, IDCANCEL, m_Cancel); //}}AFX_DATA_MAP
BOOL CADD_AND_DEL_FRIEND::OnInitDialog()
{
CDialog::OnInitDialog();
}// ¹öưÀÌ ´·¯Áö±âÀü À̹ÌÁö¿Í ´·ÈÀ»¶§ À̹ÌÁö¸¦ ¼³Á¤ÇØ ÁØ´Ù. m_OK.LoadBitmaps( IDB_OKU, IDB_OKD ); m_Cancel.LoadBitmaps( IDB_CancelU, IDB_CancelD ); // ¹öưÀ» À̹ÌÁö Å©±â¿¡ ¸ÂÃç¼ ¾º¿öÁØ´Ù. m_OK.SizeToContent(); m_Cancel.SizeToContent(); return true;
ItemÀ» º¯°æÇßÀ»¶§ Áï OnItemChanged¸Þ¼¼Áö°¡ ¹ß»ýÇϴµ¥
* ÃʱâȽà ÀÓÀÇÀÇ ¾ÆÀÌÅÛ ¼±ÅÃÇϱâ Ŭ·¡½º À§Àúµå¿¡¼ NM_CLICK À̺¥Æ® Çڵ鷯¸¦ ³Ö°í.. ¾Æ·¡¿Í °°Àº ³»ºÎ Äڵ带 »ðÀÔÇÏ¿© ¿øÇÏ´Â ÀÛ¾÷À» ÇÑ´Ù void CxxxDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) {
NM_LISTVIEW* pList = (NM_LISTVIEW*)pNMHDR;
}ASSERT(pList); '*' pResult = 0; if(pList->iItem == -1) return; ¸®½ºÆ®ÄÁÆ®·Ñ.GetItemData(pList->iItem); ¸®½ºÆ®ÄÁÆ®·Ñ.GetItemText(pList->iItem, ¼ºê¾ÆÀÌÅÛ À妽º);
¸ÕÀú OnInitDialog()¿¡¼ ÃʱâÈ ÇÑ´Ù.
* Full Row Select style·Î º¯È¯ m_ListCtrl.SetExtendedStyle(LVIS_SELECTED| LVS_NOLABELWRAP | LVS_EX_GRIDLINES | LVS_EX_FLATSB | LVS_EX_FULLROWSELECT); m_ListCtrl.ModifyStyle(0,LVS_SHOWSELALWAYS); <-- ¿ä°Å Áß¿äÇÔ ¹Ýµå½Ã ÇÒ°Í. ¼±ÅÃÇϰíÀÚ ÇÒ¶§ ¿ä·¸°Ô ÇÏ¸é µÊ´Ï´Ù. m_ListCtrl.SetItemState(i, LVIS_SELECTED, LVIS_SELECTED); <-- ¼±ÅÃÇϰí, ȸ»öÀ¸·ÎµÊ m_ListCtrl.EnsureVisible(i,false); <--½ºÅ©·ÑÇϰí m_ListCtrl.SetFocus();<--Æ÷Ä¿½ºÁÖ°í ÆÄ¶õ»öÀ¸·Î µÊ ¼±ÅÃÇϸé ÀÌÀü²¨´Â ÀÚµ¿ ÇØÁ¦.
m_ListCtrl.SetExtendedStyle( LVS_NOLABELWRAP | LVS_EX_GRIDLINES | LVS_EX_FLATSB | LVS_EX_FULLROWSELECT );
* ƯÁ¤ ¾ÆÀÌÅÛÀÌ º¸À̵µ·Ï ½ºÅ©·Ñ Çϱâ * Âü°í»çÀÌÆ®
mysheet.SetActivePage(npage);
OPENFILENAME CFileDialog::m_ofn ;
typedef struct tagOFN { ...
LPCTSTR lpstrInitialDir; // ¿©±â¼ ¼³Á¤
...} OPENFILENAME;![]() »ç¿ë¿¹)
char currentDir[ 256 ]; // ÇöÀçÀÇ °æ·Î
GetCurrentDirectory( NAME_MAX_SIZE, currentDir ); strcat( currentDir, "\\Data\\" );
üũ¹Ú½º.SetCheck(int A); A°¡ 1À̸é üũ, 0À̸é ÇØÁ¦
1) CButton* chkbox1 = (CButton*)GetDlgItem(IDC_CHECK1); int i = chkbox1->GetCheck(); ÇöÀçÀÇ »óŸ¦ ±¸ÇÔ chkbox1->SetCheck(1); 2) GetDlgItem(ID_Model_CHK)->SetCheck(1); 3) Chk : Chk ÇØÁ¦ :
-. ¸ÕÀú ÇÁ·ÎÁ§Æ® À̸§À¸·Î µÈ XXXX.clw ÆÄÀÏÀ» »èÁ¦ÇÑ´Ù. ¸¸ÀÏÀ» À§ÇØ À̸§À» ¹Ù²ãµÎ´Â °ÍÀÌ ÁÁ´Ù.
* UpdataData() ÇÔ¼ö-. ±× ´ÙÀ½ Ŭ·¡½º À§Á®µå¸¦ ½ÇÇà½Ã۸é Ŭ·¡½º¿¡ ´ëÇÑ Á¤º¸°¡ ¾ø±â ¶§¹®¿¡ »õ·Ó°Ô ¼³Á¤ÇÏ´Â ´ÙÀ̾ó·Î±×°¡ ³ªÅ¸³´Ù. ¿©±â¼ Project List¿¡ ¸ðµÎ µî·Ï½ÃŰ¸é µÈ´Ù. ±×·± ÈÄ ´Ù½Ã Ŭ·¡½º À§Á®µå¸¦ ½ÇÇà½ÃŰ¸é ±âÁ¸ÀÇ Å¬·¡½º »Ó¸¸ ¾Æ´Ï¶ó »õ·Ó°Ô Ãß°¡ÇÑ Å¬·¡½ºµµ À§Á®µå°¡ ÀνÄÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.
-. ȸ鿡 µ¥ÀÌÅ͸¦ ³ªÅ¸³»±â À§Çؼ´Â º¯¼ö¿¡ µî·ÏµÇ¾î ÀÖ´Â µ¥ÀÌÅ͸¦ ´ëÈ »óÀÚ·Î Àü¼ÛÇÏ´Â ÇÔ¼ö
* »ç¿ëÀÚ ¸Þ½ÃÁö¸¦ ¹Þ¾Æ CMyViewŬ¶óÀÌ¾ðÆ® ¿µ¿ª¿¡¼ ó¸®Çϱâ
(º¯¼ö¿¡ µ¥ÀÌÅ͸¦ ±â·ÏÇÏ¿´´Ù ÇÏ¿©µµ ȸ鿡´Â ÀÔ·ÂµÈ ¸ð½ÀÀÌ ³ªÅ¸³ªÁö ¾Ê´Â´Ù´Â ÀǹÌ)
-. UpdateData(FALSE); º¯¼ö¸¦ ´ëÈ »óÀÚ·Î Àü¼Û
(ÇöÀç º¯¼ö¿¡ µ¥ÀÌÅ͸¦ µî·ÏÇϰí À̰ÍÀ» ´ëÈ »óÀÚ·Î Àü¼ÛÇÒ ¶§)
UpdateData(TRUE); ´ëÈ »óÀÚ¿¡¼ º¯¼ö·Î µ¥ÀÌÅ͸¦ Àü¼Û
(´ëÈ »óÀÚ¿¡¼ ¿¡µðÅÍ »óÀÚ °°Àº ÀÚ¿ø¿¡ Á¤º¸¸¦ º¯ÇüÇϰí, ÀÌ º¯ÇüµÈ µ¥ÀÌÅ͸¦ ´Ù½Ã ÀÚ¿øÀ¸·Î ¹Þ¾Æ¾ß ÇÒ °æ¿ì)
-. ºäŬ·¡½º¿Í ´ÙÀ̾ó·Î±×Ŭ·¡½ºÀÇ ¿ªÇÒÀº ´ÙÀ½°ú °°°í, ´ÙÀ̾ó·Î±×Ŭ·¡½º´Â ºäŬ·¡½º¸¦ ¾Ë°í ÀÖ¾î¾ßÇÑ´Ù.
ºäŬ·¡½º ==> °¨½ÃÀÚ (½ºÅ¸Å©·¡ÇÁÆ®ÀÇ ¿ÉÀú¹ö¿Í µ¿ÀÏÇÑ ¿ªÇÒ)
-. ¹°·Ð SetParent() ÈÄ¿¡ GetParent()·Î ÇØµµ µÇÁö¸¸ ´ÙÀ̾ó·Î±×Ŭ·¡½º ==> Á¤º¸ÀǺ¯È
À§¿Í °°Àº µðÀÚÀÎÆÐÅÏÀ» °í·ÁÇÏ¸é ´ÙÀ½°ú °°´Ù.(¿ÉÀú¹öÆÐÅÏ)
1) ´ÙÀ̾ó·Î±×Ŭ·¡½º¿¡¼ ºäŬ·¡½ºÀÇ Æ÷ÀÎÅ͸¦ ÀúÀåÇÒ¼ö ÀÖ´Â ¸â¹öº¯¼ö¸¦¸¸µé°í 2) ºäŬ·¡½º ÃʱâÈÇÔ¼öºÎºÐ¿¡¼ ´ÙÀ̾ó·Î±×Ŭ·¡½º¿¡ Æ÷ÀÎÅ͸¦ ³Ñ°ÜÁÖ¸é µË´Ï´Ù. 3) ±×¸®°í ¸Þ½ÃÁö¸¦ Á¤ÀÇÇÕ´Ï´Ù.
afx_msg long OnMyMsg(WPARAM) wparam,LPARAM lparam);
ON_MESSAGE ( WM_USER+1,OnMyMsg)
![]() ![]()
ÇÁ·Î±×·¥À» »õ·Î ¸¸µé ¶§´Â AppWizard¸¦ »ç¿ëÇϴµ¥, AppWizardÀÇ ¿ªÇÒÀº MFCÀÇ AFXŬ·¡½º¿¡¼ »ó¼ÓÀ» ¹Þ¾Æ, ¾Æ·¡ ±×¸²¿¡¼¿Í °°Àº ³× °³ÀÇ Å¬·¡½º¸¦ »ý¼º½ÃÄÑ ÁÖ´Â °ÍÀÌ´Ù.
* AFX Ŭ·¡½ºµé °£ÀÇ »óÈ£ÂüÁ¶ °ü°è![]() ![]() ![]() - µµÅ¥¸ÕÆ® Ŭ·¡½º¿¡¼ ºä/ ÇÁ·¹ÀÓ À©µµ¿ì ÂüÁ¶ ¸Þ¸ðÀåÀ¸·Î °¡±â |
"Fortune Cookies..." Ã¥°¥ÇÇ_MFCInternals(1) Ã¥°¥ÇÇ_3Dij¸¯Å;ִϸÞÀ̼ÇÇÁ·Î±×·¡¹Ö HelpOnXmlPages ¸Þ¸ðÀå_C |