| ¡¡
Ïà¹Ø·ÖÀà VCÈëÃÅ ->VC ->VCShare ËÄ ³£Óÿؼþ¹Ø¼ü×Ö ³£Óÿؼþ VCÖ÷ÒªÄÚÈÝ£º1£¬ °´Å¥ £¨1£©£¬Î»Í¼°´Å¥¼°¶¯Ì¬°´Å¥ £¨2£©£¬×Ô»°´Å¥ 2£¬Áбí¿ò 3£¬±à¼¿Ø¼þºÍCRichEdit 4£¬CSliderCtrl °´Å¥µÄʹÓÃÊ®·Ö¼òµ¥£¬ÍÏÒ»¸öµ½¶Ô»°¿ò£¬Ë«»÷Ëü¾Í¿ÉÒԱ༴úÂëÁË¡£ÀûÓóÌÐòÏòµ¼Éú³ÉÒ»¸ö»ùÓÚ¶Ô»°¿òµÄ³ÌÐòControls£¬ÍÏÒ»¸ö°´Å¥ÔÚ¶Ô»°¿òÉÏ£¬IDΪIDC_OWNER,Ë«»÷¿Ø¼þÔö¼ÓÏìÓ¦º¯Êý¡£ÎªIDOKÉèÖùØÁª±äÁ¿m_ok,½«ÏÂÁдúÂë¼Óµ½ÏìÓ¦º¯Êý¡£m_ok.EnableWindow(false); ËüµÄ×÷ÓÃÊÇʹOK½ûÓᣠ½«¸Õ¸Õ¼ÓµÄ´úÂë»»³ÉÏÂÃæµÄ£¬Ctrl+F5,µãÎÒÃǼӵİ´Å¥¾Í¿ÉÒÔ¿´µ½È·¶¨°´Å¥±ä³ÉÁ˸´Ñ¡¿ò£¬ÎÒÃǵ¥»÷Ëü£¬Ëü»¹ÊÇÖ´ÐÐÒÔǰµÄ´úÂë¡£ UINT Style = m_ok.GetButtonStyle(); Style |= BS_3STATE; m_ok.SetButtonStyle(Style); ·ç¸ñÓУºBS_AUTOCHECKBOX BS_AUTORADIOBUTTON BS_AUTO3STATE BS_CHECKBOX BS_DEFPUSHBUTTON BS_GROUPBOX BS_LEFTTEXT BS_OWNERDRAW BS_PUSHBUTTON BS_RADIOBUTTON BS_3STATE ½«¸Õ¸Õ¼ÓµÄ´úÂë»»³ÉÏÂÃæµÄ£º CWnd *pWnd = GetDlgItem(IDOK); pWnd->EnableWindow(false); ËüµÄЧ¹ûÊÇÒ²ÊÇʹȷ¶¨°´Å¥½ûÓ㬵ÚÒ»ÐеÄ×÷ÓÃÊǸù¾ÝIDÕÒµ½CWndÖ¸Õ룬עÒâÓÐЩº¯ÊýÊÇCButtonÀàÌØÓеģ¬ÄÇôÎÒ±ØÐë°ÑpWndÇ¿ÖÆ×ª»»³ÉCButtonÀàÖ¸Õë¡£ CButton³£Óõĺ¯Êý»¹ÓУº .GetFocus();»ñµÃÓµÓн¹µãµÄ´°¿Ú£¬SetFocus();»ñµÃ½¹µã¡£Èç¹ûÒ»¸ö°´Å¥ÓµÓн¹µã£¬¿Õ¸ñ¿ÉÒÔÈÃËüÖ´ÐС£ GetFont();SetFont();»ñµÃºÍÉèÖÃ×ÖÌå¡£ λͼ°´Å¥¡£ ½«È·¶¨µÄ°´Å¥µÄ×Ô»·ç¸ñ¹³ÉÏ£¬½«È·¶¨°´Å¥µÄ±êÌâ¸ÄΪOK,¼ÓËÄ·ùλͼ£¬ ¡°OKU¡±,¡±OKD¡±,¡±OKF¡±,¡±OKX¡±,·Ö±ð¶Ô¾Í°´Å¥µ¯ÆðÀ´£¬±»°´ÏÂÈ¥£¬»ñµÃ½¹µã£¬½ûÓÃÇé¿ö£¬×¢ÒâλͼÃûÓÐÒýºÅ¡£ ¶¨ÒåÒ»¸ö³ÉÔ±±äÁ¿CBitmapButton bb,ÔÚOnInitDialog()¼Ó bb.AutoLoad(IDOK,this); ÓÐÒ»¸öÎÊÌâҪעÒ⣬µ±µãÉÏ×Իʱ£¬Ä¬Èϰ´Å¥»á±»È¡Ïû£¬ËùÒÔÄã±ØÐëÖØÐÂÉ趨һ¸öĬÈϰ´Å¥¡£ ½«ÉÏÃæµÄÒ»¾ä¸Ä³É£º bb.LoadBitmaps("OKU");//×î¶à¿ÉÒÔ¼ÓÔØ4·ù£¬ÖÁÉÙ¼ÓÔØÒ»·ù¡£ bb.SubclassDlgItem(IDOK,this);//Óë¿Ø¼þ½¨Á¢¹ØÁª¡£ bb.SizeToContent();//¸Ä±ä¿Ø¼þµÄ´óСÀ´ÊÊӦλͼ ×Ô»°´Å¥£º ½«È¡Ïû°´Å¥µÄ×Ô»¹³ÉÏ,Ctrl+w´ò¿ªÀàÏòµ¼£¬Ë«»÷¼ÓCControlDlgµÄÏûÏ¢WM_DRAWITEMµÄÏìÓ¦º¯Êý¡£ void CControlsDlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) { if(IDCANCEL ==nIDCtl) { CDC *pDC = new CDC(); pDC->Attach(lpDrawItemStruct->hDC); pDC->TextOut(10,10,"haha"); } CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct); } ±¸Óú¯Êý CRect r; GetClientRect(&r); r´æ´¢ÁËÈ¡Ïû°´Å¥µÄ±ß½çÖµ¡£ Áбí¿ò ½¨Á¢Ò»¸ö»ùÓÚ¶Ô»°¿òµÄ³ÌÐòControls,¼ÓÒ»¸öÁбí¿ò£¬ID: IDC_LIST,ÉèÁ¢Ò»¸ö¿ØÖÆÀàÐ͵ıäÁ¿m_ctrl,ÔÙÔö¼ÓÈý¸ö°´Å¥£¬ID·Ö±ðΪ:Append,Insert,Delete; void CControlsDlg::OnAPPEND() { UpdateData(); if(m_input.IsEmpty()) return; int i = m_ctrl.GetCount(); m_ctrl.SetCurSel(i-1);//ѡȡ×îºóÒ»¸ö; m_ctrl.AddString(m_input); } void CControlsDlg::OnINSERT() { int i = m_ctrl.GetCurSel(); if(-1 == i) MessageBox("ÇëÔÚÁбí¿òÖÐÑ¡ÔñÒ»Ïî,мӵÄÏÔÚ´ËÏîµÄºóÃæ","×¢Òâ"); else { UpdateData(); m_ctrl.InsertString(i+1,m_input); } } void CControlsDlg::OnREMOVE() { int i = m_ctrl.GetCurSel(); if(-1 != i) m_ctrl.DeleteString(i); } ³£Óú¯Êý£º ResetContent Çå¿Õ¡£ int FindString( int nStartAfter, LPCTSTR lpszItem ) const; ´ÓµÚnStartAfter¿ªÊ¼²éÕÒlpszItemËùÖ¸µÄ×Ö·û´®£¬Èç¹ûûÓÐÕÒµ½·µ»Ø-1£¬·ñÔò·µ»ØÐòºÅ¡£ int SelectString( int nStartAfter, LPCTSTR lpszItem ); ÓëFindStringÀàËÆ£¬ÕÒµ½ºó»á·´É«ÏÔʾ±»ÕÒµ½µÄ×Ö·û´®¡£ ±à¼¿Ø¼þ£º Éú³ÉÒ»¸ö»ùÓÚ¶Ô»°¿òµÄ³ÌÐòControls,¼ÓÒ»¸ö±à¼¿Ø¼þ£¬ÉèÖÃÒ»¸ö¿ØÖÆÀàÐ͵ĹØÁª±äÁ¿m_ctrl.Ôö¼ÓÒ»°´Å¥£¬Ë«»÷¼Ó´úÂ룺 m_ctrl.SetSel(0,3);//Ñ¡Ôñǰ4¸ö×Ö·û¡£ m_ctrl.Cut();//¼ôÇÐ m_ctrl.Paste();//Õ³Ìù m_ctrl.Paste();//Õ³Ìù ÀàËÆµÄº¯Êý»¹ÓÐUndo,Copy£¬ReplaceSel¡£ void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE ); void MoveWindow( LPCRECT lpRect, BOOL bRepaint = TRUE ); ÒÆ¶¯´°¿Ú£¨Èç¿Ø¼þ£©¡£ ×îºóÒ»¸ö²ÎÊýÊÇ·ñÖØ»£¬Ç°ÃæµÄ²ÎÊý±íÃ÷Ëĸö½ÇµÄλÖã¬×¢Òâ´óС¼°±ÈÀý¿ÉÄܸı䡣 ½¨Á¢Ò»¸ö»ùÓÚ¶Ô»°¿òµÄÓ¦ÓóÌÐòControl,¼ÓÒ»¸öCRichEdit Ctrl+F5,Ó¦¸ÃÒ»µã·´Ó¦¶¼Ã»ÓС£ÒòΪÎÒÃÇûÓмӣº BOOL CControlsApp::InitInstance() { AfxInitRichEdit(); ÕâÑù¾ÍÐÐÁË¡£ CSliderCtrl Éú³ÉÒ»¸ö»ùÓÚ¶Ô»°¿òµÄÓ¦ÓóÌÐòControls,¼ÓÒ»¸öSlider¿Ø¼þ£¬ÈÃËüÓëÒ»¸öÕûÐαäÁ¿m_valueÏà¹Ø,ÔÙÈÃËüÓëÒ»¸ö¿ØÖÆÀàÐ͵ıäÁ¿m_ctrlÏà¹Ø£¬Ôö¼Ó´Ë¿Ø¼þµÄNM_RELEASEDCAPTUREµÄÏìÓ¦º¯Êý£¬ÔÚÄÇÀï¼Ó£º void CControlsDlg::OnReleasedcaptureSlider1(NMHDR* pNMHDR, LRESULT* pResult) { UpdateData(true); CString str; str.Format("%d",m_value); MessageBox(str); *pResult = 0; } ÔÙ¼ÓÉÏ£º m_ctrl.SetRange(20,120);// ÉèÖÃ×îС£¬×î´óÖµ m_ctrl.SetPageSize(30);//ÉèÖÃÒ»´Î¸Ä±ä¶àÉÙ m_ctrl.SetPos(30);//ÉèÖÃλÖà ÉÏһƪ:Èý CString ÏÂһƪ:Îå ¶Ô»°¿ò ¡¡ |
|