MFC¿Ø¼þʹÓ÷½·¨ ÏÂÔØ±¾ÎÄ

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/5/19 3:19:57ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

VC2012ÏÂMFC³ÌÐò¸÷¿Ø¼þµÄ³£Ó÷½·¨

·ÖÀࣺvc¿Ø¼þ 2013-02-16 16:32 94ÈËÔĶÁÆÀÂÛ(0) Êղؾٱ¨

һϿؼþµÄÓ÷¨È«²¿ÔÚVC2012ϵ÷ÊÔͨ¹ý£¬ÌØ·¢ÎÄÊղأ¨²¿·ÖÄÚÈÝÀ´×Ô»ò²Î¿¼×ÔÍøÂ磩£º Static Text:

½«IDºÅ¸Ä³ÉΨһµÄÒ»¸ö£¬È磺IDC_XX£¬È»ºó½øÒ»´ÎÀàÏòµ¼µãÈ·¶¨²úÉúÕâ¸öID£¬Ö®ºó¸ü¸ÄCaptionÊôÐÔ£º

GetDlgItem(IDC_XX)->SetWindowText(L\); ÉèÖÃ×ÖÌ壺

CFont *pFont= newCFont;

pFont->CreatePointFont(120,_T(\»ªÎÄÐп¬\)); GetDlgItem(IDC_XX)->SetFont(pFont); Edit Control: ÉèÖÃÎı¾£º

SetDlgItemText(IDC_XX,L\); »ñÈ¡ËùÓÐÊäÈ룺

½¨Á¢ÀàÏòµ¼´´½¨Ò»¸ö³ÉÔ±±äÁ¿£¨¼ÙÉèÊÇshuru1£¬shuru2¡­¡­£©ÀàÐÍÑ¡value£¬±äÁ¿ÀàÐÍÈÎÑ¡¡£ UpdateData(true);

GetDlgItem(IDC_XX)->SetWindowText(shuru1);

µÚÒ»¾ä¸üÐÂËùÓн¨Á¢Á˱äÁ¿µÄ¶Ô»°¿ò×é¼þ£¬»ñÈ¡ÊäÈëµÄÖµ¡£µÚ¶þ¾ä½«Ç°ÃæµÄIDC_XXµÄ¾²Ì¬Îı¾ÄÚÈݸÄΪshuru1ÊäÈëµÄÄÚÈÝ¡£ ÈôÀàÐÍÑ¡ÓÃcontrol: 1.ÉèÖÃÖ»¶ÁÊôÐÔ£º

shuru1.SetReadOnly(true);

2.ÅжÏeditÖйâ±ê״̬²¢µÃµ½Ñ¡ÖÐÄÚÈÝ(richeditͬÑùÊÊÓÃ) int nStart,nEnd; CStringstrTemp;

shuru1.GetSel(nStart,nEnd); if(nStart== nEnd) {

strTemp.Format(_T(\¹â±êÔÚ%d\ ),nStart); AfxMessageBox(strTemp); } else {

//µÃµ½editÑ¡ÖеÄÄÚÈÝ

shuru1.GetWindowText(strTemp);

strTemp= strTemp.Mid(nStart,nEnd-nStart); AfxMessageBox(strTemp); }

ÆäÖÐnStartºÍnEnd·Ö±ð±íʾ¹â±êµÄÆðʼºÍÖÕֹλÖ㬴Ó0¿ªÊ¼¡£strTemp.Format·½·¨ÓÃÓÚ¸ñʽ»¯×Ö·û´®¡£AfxMessageBox(strTemp)ÏÔʾһ¸öÌáʾ¶Ô»°¿ò£¬ÆäÄÚÈÝÊÇ×Ö·û´®strTemp¡£ strTemp= strTemp.Mid(nStart,nEnd-nStart)·µ»ØÒ»¸ö±»½ØÈ¡µÄ×Ö·û´®£¬´ÓnStart¿ªÊ¼£¬³¤¶ÈΪnEnd-nStart¡£Èç¹ûnStart== nEnd˵Ã÷ûÓÐÑ¡ÔñÎı¾¡£ ×¢£ºSetSel(0,-1)±íʾȫѡ;SetSel(-1,i)±íʾɾ³ýËùÑ¡¡£ 3.ÔÚeditµÄĩβÌí¼Ó×ֶΣº CString str;

shuru1.SetSel(-1,-1); shuru1.ReplaceSel(str);

4.ËæÊäÈë×Ô¶¯¹ö¶¯µ½×îºóÒ»ÐÐ(richeditͬÑùÊÊÓÃ)

shuru1.PostMessage(WM_VSCROLL, SB_BOTTOM, 0);

×¢£º×÷ÃÜÂëʹÓã¬ÉèÖÃÃÜÂëÑÚÂë×Ö·ûÓÃSetPasswordChar('*')·½·¨¡£ 5.ÈçºÎÏÞÖÆeditÊäÈëÖ¸¶¨×Ö·û

´´½¨Ò»¸öCEditµÄ×ÓÀ࣬×Ô¶¯»¯£¬²¢´´½¨×ÓÀàµÄWM_CHARÀàÐ͵ÄÏûÏ¢£º voidCyxEdit::OnChar(UINTnChar, UINTnRepCnt, UINTnFlags) {

// TODO:ÔÚ´ËÌí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂëºÍ/»òµ÷ÓÃĬÈÏÖµ if ( (nChar>= '0'&&nChar<= '9') || (nChar>= 'a'&&nChar<= 'f') || (nChar>= 'A'&&nChar<= 'F') || nChar == VK_BACK ||

nChar == VK_DELETE) //msdnµÄvirtual key {

CEdit::OnChar(nChar, nRepCnt, nFlags); } }

Èç¹ûÔÚ¶Ô»°¿ò³ÌÐòÖв»ÄÜÕý³£½ÓÊÕÏûÏ¢£¬Ôò»¹ÐèÒªÖØÔØÐ麯ÊýPreTranslateMessage: BOOLCMFCApplication3Dlg::PreTranslateMessage(MSG* pMsg) {

// TODO:ÔÚ´ËÌí¼ÓרÓôúÂëºÍ/»òµ÷ÓûùÀà

SendMessage(pMsg->message,pMsg->wParam,pMsg->lParam);

returnCDialogEx::PreTranslateMessage(pMsg);//»òreturn 0; }

ÕâÑù²ÅÄÜÕý³£½ÓÊÕVM_CHARÏûÏ¢¡£ 6.ÈçºÎʹÓÃrichedit Ìí¼ÓAfxInitRichEdit(); CxxxApp::InitInstance() £û

AfxInitRichEdit(); ............. £ý

×¢Ò⣺Èç¹û²»Ìí¼Ó¸Ã·½·¨£¬¿ÉÄÜ»áÔì³É¶Ô»°¿òÎÞ·¨Éú³É»òÆô¶¯£¬³ÌÐòÉÁÍ˵ÈÏÖÏó¡£ 7.¸Ä±äricheditÖ¸¶¨ÇøÓòµÄÑÕÉ«¼°×ÖÌå CHARFORMAT cf;

ZeroMemory(&cf,sizeof(CHARFORMAT)); cf.cbSize = sizeof(CHARFORMAT);

cf.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE | CFM_ITALIC | CFM_SIZE | CFM_UNDERLINE; cf.dwEffects= 0;

cf.yHeight =12*12; //ÎÄ×ָ߶È

cf.crTextColor= RGB(200,100, 255); //ÎÄ×ÖÑÕÉ« *cf.szFaceName= *_T(\Á¥Êé\ ); //ÉèÖÃ×ÖÌå´ý¶¨ shuru2.SetSel(1, 5); //ÉèÖô¦ÀíÇøÓò shuru2.SetSelectionCharFormat(cf); 8.ÉèÖÃÐмä¾à£¨Ö»ÊÊÓÃÓÚrichedit2.0£© PARAFORMAT2 pf2;

pf2.cbSize = sizeof(PARAFORMAT2);

pf2.dwMask = PFM_LINESPACING | PFM_SPACEAFTER; pf2.dyLineSpacing= 200; pf2.bLineSpacingRule= 4; shuru2.SetParaFormat(pf2); ComboBox Contorl:

1.Ôڱ༭״̬ϵãÄǸö¿Ø¼þµÄÏòϵÄÈý½ÇÐΣ¬¾Í³öð³öÀ´Ò»¸ö¿ÉÒÔµ÷¸ß¶ÈµÄ¶«¶«¡£½«¸ß¶Èµ÷¸ß£¬·ñÔòÔÚÖ´ÐÐʱ»á²»ÄÜÏÔʾÏÂÀ­Ñ¡Ïî¡£

2.ΪcomboboxÌí¼ÓÑ¡ÏÔڱ༭״̬ÏÂÑ¡combobox¿Ø¼þµÄÊôÐÔ£¬Ñ¡Data±êÇ©£¬Ôڱ༭¿òÖÐÌí¼ÓÑ¡ÏѡÏî¼äÓÃ;·Ö¸î¡£