amplpDrawItemStruct-gtrcItem DT_SINGLELINEDT_VCENTERDT_CENTER ::SetTextColorlpDrawItemStruct-gthDC crOldColor //????????CBitmapButton????????×?? void MyButton::DrawItemLPDRAWITEMSTRUCT lpDrawItemStruct // TODO: Add your code to draw the specified item //????lpDrawItemStruct??????????????????????à???????????? CRect rectlpDrawItemStruct-gt rcItem CDC pDCCDC::FromHandlelpDrawItemStruct-gt hDC int nSaveDCpDC-gt SaveDC UINT state lpDrawItemStruct-gt itemState TCHAR strTextMAX_PATH 1 ::GetWindowTextm_hWnd strText MAX_PATH CBitmapButton::DrawItemlpDrawItemStruct CRect rect1reBRUSHNULL else pDC-gt DrawStatept szExtent strText DSS_NORMAL TRUE 0 HBRUSHNULL pDC-gt SelectObjecthOldFont pDC-gt SetBkModenMode pDC-gt RestoreDCnSaveDC ????????????????CButton??à????????????OnPaint????????????????Button????????????×??????????????????¨BitBlt????TransparentBltTransparentBltTransparentBltTransparentBlt????StretchBltStretchBltStretchBltStretchBlt ????MaskBltMaskBltMaskBltMaskBlt???????????????? PlgBltPlgBltPlgBltPlgBlt ???????? ???????? ????????????????CButtonST????????????????????????????????±??MFC????????????·??×°???????????? ??????è°??????ID????IDC_BUTTON1 1.??í??????????±±?????? CButtonST m_btn 2.??í????????????×??????????ID??è????IDB_BITMAP1 3.????OnInitDialog????????????????????????°??????m_btn.SubclassDlgItemIDC_BUTTON1this m_btn.SetBitmapsIDB_BITMAP1RGB000 m_btn.OffsetColorCButtonST::BTNST_COLOR_BK_IN 30 ×??: ????????????SetBitmaps??????????á????????????????????????????????RGB000??????????è??????????÷???? ???????? °??button°????????????????è????????ower draw ??????ó????????onDrawItem???????? ????ondraw????????????×?????????????????????????????? void CUi6Dlg::OnDrawItemint nIDCtl LPDRAWITEMSTRUCT lpDrawItemStruct ifnIDCtl IDC_HELLO_CFAN //????????°????????ò???? UINT uStyle DFCS_BUTTONPUSH //????·??°?????????????????? if lpDrawItemStruct-gtitemState amp ODS_SELECTED uStyle DFCS_PUSHED CDC dc dc.AttachlpDrawItemStruct-gthDC dc.DrawFrameControlamplpDrawItemStruct-gtrcItem DFC_BUTTON uStyle //????????????×?? dc.SelectObjectampm_Font dc.SetTextColorRGB0 0 255 dc.SetBkModeTRANSPARENT CString sText m_HelloCFan.GetWindowTextsText dc.TextOutlpDrawItemStruct-gtrcItem.left 20 lpDrawItemStruct-gtrcItem.top 20 sText //????·?????????????????? iflpDrawItemStruct-gtitemState amp ODS_FOCUS //????é??ò CRect rtFocus lpDrawItemStruct-gtrcItem rtFocus.DeflateRect3 3 dc.DrawFocusRectamprtFocus return CDialog::OnDrawItemnIDCtl lpDrawItemStruct ????·??·¨????????EditStatic????????????????????????????Button°????????????????ó????????????Button????±??±????°????????·??·¨???????????????????????????????????????????? ??????????????ì????WM_CTLCOLOR???????????? HBRUSH CAhDlg::OnCtlColorCDC pDC CWnd pWnd UINT nCtlColor HBRUSH hbr CDialog::OnCtlColorpDC pWnd nCtlColor ifpWnd-gtGetDlgCtrlID IDC_EDIT1// ????????????°????????????????????????????????????§ pDC-gtSetBkColorRGB02550 //??è????????±??±????° hbr ::CreateSolidBrushRGB02550 //??è????????????±????° return hbr re??????????????????????????§??ó????????????????????±??????????????CTreeCtrl??à??????????????????????????????????????ü????????±????°??????????????????????????????????????????÷??÷??????????????±±????°??????????????????????????????????í??????????¨??????????????°??ò??????????????????????????????????????????????????????????????????????÷??????????????????ù±??????????·??·¨??????????????????????ò±à??????ó??????????????§???????????? ????????????????±????°??????????÷??????????????§???????? ????????????????????????????????????????·??·¨????????·??·¨????????·??·¨????????·??·¨ ??????????????÷????????????????±????°??????????????°??????????????×??????é??????????????÷??????????????????ù±??????????·??·¨??????÷??????????????????????????????ó????±??????????????????????Windows×????????????í??÷????????????????????????????????×????????÷??????????????????????????????÷??????????á??????????????????????????????ù????????Root??????ó??????????????í??à×????á????????????????????×????á??????????????????í??????????????ò??à??????ò????????×????á???????? MFC????????????CTreeCtrl??à????·??×°??÷??????????????????÷????????×÷??????¨??????÷????BOOL Create DWORD dwStyle const RECTamp rect CWnd pParentWnd UINT nID ??????¨??????????°????????dwStyle??????????????????????????????????????÷????????????????ר????·??????????TVS_HASLINES ????????/×????á????????????????????????????????TVS_LINESATROOT ??????ù/×????á????????????????????????????????TVS_HASBUTTONS ??????????????????á??????°??í????????????°??????????????????±í??????±??°??á????????·??????±??????????????TVS_EDITLABELS ??á????????????????×??·??????????±??±à??????TVS_SHOWSELALWAYS ??????§??????????????±??????????????±??°??????????????á????????TVS_DISABLEDRAGDROP ??????????íDrag/Drop????TVS_NOTOOLTIPS ????????????ToolTip??????????á????????????????×??·?????? ??????÷??????????????????????????????á????????????????????????±ú??¨HTREEITEM??????????????±??í??????á??????±±????????á??????????????????????????á??????????????á????????±ú??¨??????????ùRoot??á??????????????????????????????????????????í????????????????????????????????????????????HTREEITEM InsertItem LPCTSTR lpszItem HTREEITEM hParent TVI_ROOT HTREEITEM hInsertAfter TVI_LAST ??????????í??????????????á????????pszItem????????????????×??·??????hParent??ú±í??????á????????????±ú??????±??°??í??????????á??????á????????hInsertAfter±í??????????á??????????ó????????·????????????????±??°??????¨??????á????????????±ú???? ??????????????????????????????????á??????°??í????????????????????±ê????????±????è??????÷????CTreeCtrl??à??????????±????????CImageList SetImageList CImageList pImageList int nImageListType ??????????÷??±??°??????????ù????????????????????????±
上一篇:
【精品】计算机图形学 MFC VC++6.0制作的简单时钟源代码
下一篇:
餐饮管理系统