版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1WIN98/95HeaderControlListControl&ListViewTreeControl&TreeViewTabControl&TabViewToolbarControlProgressControlliderControlSpinButtonControlStatusBarControlrect,CWnd*pParentWnd,UINTnID);2HDS_BUTTONSHDS_HORZHDS_HIDDENSBOTTOMCCS_NODIVIDERCCS_NOHILITECCS_NOMOVEYCCS_NOPARENTALIGNCCS_NORESIZEWS_VISIBLEWS_DISABLEDSetItemtypedefstruct_HD_ITEMk3MILPARAMITEXTHDI_WIDTHHDF_CENTERTGHTTMAPHDF_OWNERDRAWHDF_STRINGliSubItemi4BOOLCreate(intcx,intcy,UINTnFlags,intnInitial,intnGrow);BOOLCreate(UINTnBitmapID,intcx,intnGrow,COLORREFcrMask);BOOLCreate(LPCTSTRlpszBitmapID,intcx,intnGrow,COLORREFcrMask);BOOLCreate(CImageList&imagelist1,intnImage1,CImageList&imagelist2,intnImage2,intdx,intdy);ILC_COLOR、ILC_COLOR4、ILC_COLOR8、LpszBitmapIDSetBkColorAddCImageList*SetImageList(CImageList*pImageList,intnImageList);5LNORMALSMALLILSTATECImageList*GetImageList(intnImageList)const;CImageList*SetImageList(CImageList*pImageList,intnImageListType);CImageList*GetImageList(UINTnImage);6CImageList*SetImageList(CImageList*pImageList);NULL;pImageListHIMAGELISTGetImageList()const;GetListCtrl&7BOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID);pParentWnd用LIGNLEFTLIGNTOPLVS_AUTOARRANGEVSEDITLABELSCONLVS_LISTLVS_NOCOLUMNHEADERLVS_NOLABELWRAPLVS_NOSORTHEADERLVS_OWNERDRAWFIXEDLVS_SHOWSELALWAYSLVS_SINGLESELLVS_SMALLICONLVS_SORTASCENDINGLVS_SORTDESCENDINGSetImageList、GetSelectedCount8typedefstruct_LV_ITEM{kTNTTRszTextextMaxRAMlParam;LVITEM;typedefstruct_LV_COLUMN{askTSTRpszTextLVCOLUMN;VCFMTCENTERLEFT9m_ListCtrlControlClistCtrlintLx;//0-GJ1-XSintCALLBACKCompareFunc(LPARAMlParam1,LPARAMlParam2,LPARAMlParamSort);",0,"1000","30","30000"},",0,"1000","29","29000"},",0,"1000","28","28000"},",0,"1000","27","27000"},",0,"1000","31","31000"},",1,"1000","30","30000"},",1,"1000","29","29000"},",1,"1000","28","28000"},",1,"1000","27","27000"},BOOLCVCLISTDlg::OnInitDialog()LV_ITEMlvitem;LV_COLUMNlvcol;ntiiPosiItemNumCil1.Create(32,32,TRUE,2,2);Cil1.Add(pApp->LoadIcon(IDI_GJ));Cil1.Add(pApp->LoadIcon(IDI_XS));Cil2.Create(16,16,TRUE,2,2);Cil2.Add(pApp->LoadIcon(IDI_GJ));m_ListCtrl.SetImageList(&Cil1,LVSIL_NORMAL);lvcol.mask=LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;liSubItemim_ListCtrl.InsertColumn(i++,&lvcol);liSubItemim_ListCtrl.InsertColumn(i++,&lvcol);liSubItemim_ListCtrl.InsertColumn(i++,&lvcol);liSubItemim_ListCtrl.InsertColumn(i++,&lvcol);iItemNum=sizeof(Sps)/sizeof(SPS);for(i=0;i<iItemNum;i++){lvitem.mask=LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM;lvitem.iItem=i;lvitem.iSubItem=0;lvitem.pszText=Sps[i].szPm;lvitem.iImage=Sps[i].Lx;lvitem.lParam=i;lvitem.mask=LVIF_TEXT;lvitem.iItem=iPos;lvitem.iSubItem=1;lvitem.pszText=Sps[i].szSl;m_ListCtrl.SetItem(&lvitem);lvitem.iSubItem=2;lvitem.pszText=Sps[i].szDj;m_ListCtrl.SetItem(&lvitem);lvitem.iSubItem=3;lvitem.pszText=Sps[i].szJe;m_ListCtrl.SetItem(&lvitem);}CheckRadioButton(IDC_STDICON,IDC_REPORT,IDC_STDICON);returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}DOAddyourcontrolnotificationhandlercodehereLONGlStyle;}DOAddyourcontrolnotificationhandlercodehereLONGlStyle;}DOAddyourcontrolnotificationhandlercodehereLONGlStyle;}DOAddyourcontrolnotificationhandlercodehereLONGlStyle;}DOAddyourcontrolnotificationhandlercodeheretiiStateif(nItemSelected<1)return;for(i=nItemCount-1;i>=0;i--){iState=m_ListCtrl.GetItemState(i,LVIS_SELECTED);if(iState!=0)m_ListCtrl.DeleteItem(i);}}voidCVCLISTDlg::OnColumnclickListctrl(NMHDR*pNMHDR,LRESULT*pResult)NM_LISTVIEW*pNMListView=(NM_LISTVIEW*)pNMHDR;//TODO:Addyourcontrolnotificationhandlercodehereif(pNMListView->iSubItem==iSorted)return;iSorted=pNMListView->iSubItem;m_ListCtrl.SortItems((PFNLVCOMPARE)CompareFunc,iSorted);*pResult=0;}intCALLBACKCompareFunc(LPARAMlParam1,LPARAMlParam2,LPARAMlParamSort)switch(lParamSort){case0L:text1=Sps[lParam1].szPm;text2=Sps[lParam2].szPm;break;case1L:text1=Sps[lParam1].szSl;text2=Sps[lParam2].szSl;break;case2L:text1=Sps[lParam1].szDj;text2=Sps[lParam2].szDj;break;case3L:text1=Sps[lParam1].szJe;text2=Sps[lParam2].szJe;break;}>0=0<0>0=0<0}voidCVCLISTDlg::OnSort()DOAddyourcontrolnotificationhandlercodeherem_ListCtrl.SortItems((PFNLVCOMPARE)CompareFunc,0);}CListCtrl&ListCtrl=GetTreeCtrl()。BOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID);ESTVS_LINESATROOTTVSHASBUTTONSTVSEDITLABELSTVS_SHOWSELALWAYSItemHasChildrentypedefstruct_TV_ITEM{REEITEMmask;hItem;state;stateMask;pszText;}TV_ITEM,FAR*LPTV_ITEM;typedefstruct_TV_INSERTSTRUCT{}TV_INSERTSTRUCT,FAR*LPTV_INSERTSTRUCT;typedefstruct_NM_TREEVIEW{DRTV_ITEMTV_ITEMPOINTEVIEWtypedefstruct_TV_DISPINFO{tvdiISPINFOtypedefstruct_TVHITTESTINFO{tvhtst增刪查排加增刪查排加除看序}TV_HITTESTINFO,FAR*LPTV_HITTESTINFO;TVHT_ABOVETVHT_BELOWNOWHEREONITEMTVHT_ONITEMBUTTONTVHT_ONITEMICONTVHT_ONITEMINDENTTVHT_ONITEMLABELTVHT_ONITEMRIGHTTVHT_ONITEMSTATEICONTVHT_TOLEFTTORIGHT(TREECONTROL)__m_TreeCtrlControlCTreeCtrlBOOLCVCTREEDlg::OnInitDialog(){CDialog::OnInitDialog();//TODO:AddextrainitializationhereCil1.Create(16,16,ILC_COLOR,2,2);Cil1.Add(pApp->LoadIcon(IDI_PM));Cil1.Add(pApp->LoadIcon(IDI_CJ));dwStyles|=TVS_EDITLABELS|TVS_HASBUTTONS|TVS_HASLINES|TVS_LINESATROOT;char*PM[4][5]={inti,j;TCItem.hParent=hRoot;;hCur=m_TreeCtrl.InsertItem(&TCItem);TCItem.hParent=hCur;;m_TreeCtrl.InsertItem(&TCItem);}}returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}voidCVCTREEDlg::OnAdd()m_TreeCtrl.Expand(hSel,TVE_EXPAND);}voidCVCTREEDlg::OnDel()m_TreeCtrl.DeleteItem(hSel);}voidCVCTREEDlg::OnSort()m_TreeCtrl.SortChildren(hSel);}voidCVCTREEDlg::OnView()chartemp[100];}voidCVCTREEDlg::OnEndlabeleditTree(NMHDR*pNMHDR,LRESULT*pResult){TV_DISPINFO*pTVDispInfo=(TV_DISPINFO*)pNMHDR;//TODO:Addyourcontrolnotificationhandlercodeherem_TreeCtrl.SetItemText(pTVDispInfo->item.hItem,*pResult=0;}GetTreeCtrl()),ableBOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID);SDTHTCS_FOCUSONBUTTONDOWNTCS_FORCEICONLEFTTCS_FORCELABELLEFTTCS_MULTILINETCS_OWNERDRAWFIXEDTCS_SHAREIMAGELISTSTCS_TOOLTIPSDIBLESABLEDPBOOLInsertItem(intnItem,TC_ITEM*pTabCtrlItem);typedefstruct_TC_ITEM{UINTmask;UINTlpReserved1;UINTlpReserved2;LPSTRpszTextLPARAMlParam;頁 IDC_UNDERLINEtorcTextdIDC_ITALICBOOLm_bItalicLmbUnderline#include"TabDlg.h"#include"TextPage.h"#include"StylePage.h"classCTabView:publicCView}CTabView::CTabView()nColor=1;bBold=bItalic=bUnderline=FALSE;} BOOLCTabDlg::OnInitDialog()tcItem.mask=TCIF_TEXT;m_tabCtrl.InsertItem(0,&tcItem);m_tabCtrl.InsertItem(1,&tcItem);m_tabCtrl.SetCurSel(1);returnTRUE;}voidCTabDlg::OnSelchangeTabctrl(NMHDR*pNMHDR,LRESULT*pResult)switch(iPage){reakreak}*pResult=0;}voidCTabView::OnBkgrnd()ctd.m_nDist=nDist;ctd.m_nColor=nColor;if(ctd.DoModal()==IDCANCEL)return;nDist=ctd.m_nDist;nColor=ctd.m_nColor;}voidCTabView::OnFrgrnd()ctp.m_cText=cText;csp.m_bBold=bBold;csp.m_bItalic=bItalic;csp.m_bUnderline=bUnderline;cps.AddPage(&csp);if(cps.DoModal()==IDCANCEL)return;cText=ctp.m_cText;bBold=csp.m_bBold;bItalic=csp.m_bItalic;bUnderline=csp.m_bUnderline;}voidCTabView::OnDraw(CDC*pDC)tASSERT_VALID(pDoc);//TODO:adddrawcodefornativedatahereRECTrc;GetClientRect(&rc);kCPenpen,*pOldPen;COLORREFcolor;switch(nColor){break;break;break;}pen.CreatePen(PS_SOLID,1,color);j=rc.right/nDist+1;k=rc.bottom/nDist+1;for(i=0;i<j+k;i++){pDC->MoveTo(i*nDist,0);pDC->LineTo(0,i*nDist);pDC->MoveTo(i*nDist,0);pDC->LineTo(rc.right,(j-i)*nDist);}else{pDC->MoveTo(0,(i-j)*nDist);pDC->LineTo(rc.right,i*nDist);}}pDC->SelectObject(&pOldPen);CFontfont,*pOldFont;font.CreateFont(50,0,0,0,bBold?1000:200,bItalic,bUnderline,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,NULL);pOldFont=pDC->SelectObject(&font);pDC->TextOut(20,20,cText);pDC->SelectObject(pOldFont);}CToolBar::GetToolBarCtrl是BOOLCreate(CWnd*pParentWnd,DWORDdwStyle=WS_CHILD|WS_VISIBLE|CBRS_TOP,UINTnID=AFX_IDW_TOOLBAR);CBRS_SIZE_DYNAMICCBRS_SIZE_FIXEDCBRS_HIDE_INPLACECToolBarCtrl&ToolBarCtrlBOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID);CCS_ADJUSTABLECCS_NODIVIDERCCS_NOHILITECCS_NOMOVEYCCS_NORESIZECSTOPTBSTYLE_TOOLTIPSTBSTYLE_WRAPABLEtypedefstruct_TBBUTTON{BYTEfsState;BYTEfsStyle;DWORDdwData;}TBBUTTON;TBSTATE_CHECKEDTBSTATE_ENABLEDTBSTATE_HIDDENTBSTATE_INDETERMINATETBSTATE_PRESSEDTBSTYLE_BUTTON"Insert->Resource->ToolBar"MainFrm.hm_wndTestToolBar"m_bToolTips#defineTOOLLEFT18classCMainFrame:publicCFrameWndlic}#ifndef__AFXEXT_H__intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct){if(CFrameWnd::OnCreate(lpCreateStruct)==-1)return-1;WINDOWPLACEMENTif(!m_wndMainToolBar.Create(this,WS_CHILD|WS_VISIBLEmwndMainToolBarLoadToolBarIDR_MAINFRAME))tatusBarSetIndicatorsindicatorssizeof(indicators)/sizeof(UINT)))TRACE0("Failedtocreatestatusbar\n");return-1;}//failtocreateDockControlBar(&m_wndMainToolBar,DockControlBarLeftOf(&m_wndTestToolBar,DockControlBar(&m_wndDockToolBar,AFX_IDW_DOCKBAR_RIGHT);m_wndDockToolBar.SetColumns(AfxGetApp()->GetProfileInt(DockControlBarLeftOf(&m_wndDockNextBar,&m_wndDockToolBar);m_wndDockNextBar.SetColumns(AfxGetApp()->GetProfileInt(_T("General"),_T("Columns"),3));return0;}CBRS_SIZE_FIXEDCpointpt(GetSystemMetrics(SM_CXSCREEN)-100,GetSystemMetrics(SM_CYSCREEN)/3);if(!m_wndDockToolBar.Create(this,WS_CHILD|WS_VISIBLE|mwndDockToolBar.SetButtons(DockTool,sizeof(DockTool)/sizeof(UINT)))staticUINTBASED_CODEDockTool[]=EREDSTIFIEDOnClose();staticTCHARBASED_CODEszSection[]=_T("Settings");staticTCHARBASED_CODEszWindowPos[]=_T("WindowPos");staticTCHARszFormat[]=_T("%u,%u,%d,%d,%d,%d,%d,%d,%d,%d");staticBOOLPASCALNEARReadWindowPlacement(LPWINDOWPLACEMENTpwp)CStringstrBuffer=AfxGetApp()->GetProfileString(szSection,szWindowPos);if(strBuffer.IsEmpty())returnFALSE;intnRead=_stscanf(strBuffer,szFormat,&wp.ptMinPosition.x,&wp.ptMinPosition.y,&wp.ptMaxPosition.x,&wp.ptMaxPosition.y,if(nRead!=10)returnFALSE;turnTRUE}staticvoidPASCALNEARWriteWindowPlacement(LPWINDOWPLACEMENTpwp)TCHARszBuffer[sizeof("-32767")*8+sizeof("65535")*2];pwp->flags,pwp->showCmd,pwp->ptMinPosition.x,pwp->ptMinPosition.y,pwp->ptMaxPosition.x,pwp->ptMaxPosition.y,pwp->rcNormalPosition.left,pwp->rcNormalPosition.top,pwp->rcNormalPosition.right,pwp->rcNormalPosition.bottom);AfxGetApp()->WriteProfileString(szSection,szWindowPos,szBuffer);}WINDOWPLACEMENTm_wndDockToolBar.SetColumns(AfxGetApp()->GetProfileInt(m_wndDockNextBar.SetColumns(AfxGetApp()->GetProfileInt(_T("General"),_T("Columns"),3));voidCMainFrame::OnClose()_T("Columns"),m_wndDockToolBar.GetColumns());AfxGetApp()->WriteProfileInt(_T("General"),WINDOWPLACEMENTwp;wp.length=sizeofwp;if(GetWindowPlacement(&wp)){wp.flags=0;if(IsZoomed())wp.flags|=WPF_RESTORETOMAXIMIZED;WriteWindowPlacement(&wp);}CFrameWnd::OnClose();}perWM_PAINT、WM_NCPAINT、WM_MOUSEMOVE、classCTestToolBar:publicCToolBarlicvirtualvoidAssertValid()const;virtualvoidDump(CDumpContext&dc)const;ectedNTTUINTm_nColumns;m_nFlags;m_nIndex;m_nFlagl;m_nStated;}#defineTOOLLEFT18#defineLBUTTONDOWN1#defineLBUTTONUP2CTestToolBar::CTestToolBar()}voidCTestToolBar::AssertValid()constCToolBarAssertValid);}voidCTestToolBar::Dump(CDumpContext&dc)constlBarDumpdc#endif//_DEBUGvoidCTestToolBar::OnDrawBorder(intindex,CDC&dc,intflag)ectrectCPenoldpenUINTcolor1,color2;}else{colorCOLOR_BTNSHADOW;color2=COLOR_BTNHILIGHT;}CPenpen1(PS_SOLID,1,::GetSysColor(color1));CPenpen2(PS_SOLID,1,::GetSysColor(color2));dc.SelectStockObject(NULL_BRUSH);oldpen=dc.SelectObject(&pen1);dc.LineTo(rect.left,rect.top);dc.LineTo(rect.left,rect.bottom);dc.MoveTo(rect.right,rect.top);dc.LineTo(rect.right,rect.bottom);dc.LineTo(rect.left,rect.bottom);//dc.MoveTo(rect.right+1,rect.top);//dc.LineTo(rect.right+1,rect.bottom+1);//dc.LineTo(rect.left,rect.bottom+1);dc.SelectObject(oldpen);DeleteObject(pen1);DeleteObject(pen2);}voidCTestToolBar::OnDrawBorders()ectrectointptCToolBarCtrl&ToolBarCtrl=GetToolBarCtrl();for(index=0;index<count;index++){rect.left++;rect.top++;if(button.fsState&(TBSTATE_CHECKED|TBSTATE_HIDDEN))ifmnNew=0)OnDrawSep(index,dc);LED}}ReleaseDC&dc);}voidCTestToolBar::OnPaint()CToolBar::OnPaint();}voidCTestToolBar::OnLButtonDown(UINTnFlags,CPointpoint)mnFlagl=1;TBBUTTONbutton;CToolBarCtrl&ToolBarCtrl=GetToolBarCtrl();for(index=0;index<count;index++){mnIndex=index;}}}voidCTestToolBar::OnLButtonUp(UINTnFlags,CPointpoint)mnFlagl=0;ectrectointptrect.left++;rect.top++;}m_nIndex=0xffff;}voidCTestToolBar::OnMouseMove(UINTnFlags,CPointpoint)CToolBar::OnMouseMove(nFlags,point);ectrectemnFlaglGetItemRect(index,&rect);rect.left++;rect.top++;onStyleindexTBBSSEPARATOR}}mnFlagl1;semnFlaglReleaseCapture();urn}voidCTestToolBar::OnNcPaint()CToolBar::OnNcPaint();OnDrawGrapper);}voidCTestToolBar::SetState(UINTnLeft,BOOLnStated)}OnEraseBorder()OnDrawBorders()CBRS_ALIGN_BOTTOMCBRS_ALIGN_LEFTCBRS_ALIGN_RIGHTlBarCControlBar*pBar,UINTnDockBarID=0,LPCRECTlpRect=AFX_IDW_DOCKBAR_TOPAFX_IDW_DOCKBAR_BOTTOMAFX_IDW_DOCKBAR_LEFTAFX_IDW_DOCKBAR_RIGHTnDockBarIDlicvoidDockControlBarLeftOf(CToolBar*Bar,CToolBar*LeftOf);voidCMainFrame::DockControlBarLeftOf(CToolBar*Bar,CToolBar*LeftOf)ectrectDWORDdw;UINTn;LeftOf->GetWindowRect(&rect);dw=LeftOf->GetBarStyle();n=(dw&CBRS_ALIGN_TOP)?AFX_IDW_DOCKBAR_TOP:n;n=(dw&CBRS_ALIGN_BOTTOM&&n==0)?AFX_IDW_DOCKBAR_BOTTOM:n;n=(dw&CBRS_ALIGN_LEFT&&n==0)?AFX_IDW_DOCKBAR_LEFT:n;n=(dw&CBRS_ALIGN_RIGHT&&n==0)?AFX_IDW_DOCKBAR_RIGHT:n;DockControlBar(Bar,n,&rect);}BOOLm_bDialogTop;voidCMainFrame::OnButtonDlgbartop()if(m_bDialogTop)m_wndDlgBar.SetWindowPos(&m_wndStatusBar,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);elsem_wndDlgBar.SetWindowPos(&wndTop,0,0,0,0,}voidCMainFrame::OnUpdateButtonDlgbartop(CCmdUI*pCmdUI)pCmdUI->SetCheck(m_bDialogTop);}classCTestToolBar:publicCToolBarlicCTestToolBar();}CTestToolBar::CTestToolBar()}voidCTestToolBar::SetColumns(UINTnColumns)for(inti=0;i<nCount;i++){BOOLbWrap=(((i+1)%nColumns)==0);}}classCCTOOLDoc:publicCDocumentprotected:protected://{{AFX_MSG(CCTOOLDoc)XMSGDECLARE_MESSAGE_MAP()}BEGIN_MESSAGE_MAP(CCTOOLDoc,CDocument)//{{AFX_MSG_MAP(CCTOOLDoc)ON_COMMAND_RANGE(ID_BUTTON_LINE,TONSORTOnToolON_UPDATE_COMMAND_UI_RANGE(ID_BUTTON_LINE,IDBUTTON_SORT,OnUpdateTool);}}AFX_MSG_MAPEND_MESSAGE_MAP()voidCtoolDoc::OnTool(UINTnID)iPositionnID-ID_BUTTON_LINE;ositioncase}}voidCToolDoc::OnUpdateTool(CCmdUI*pCmdUI)pCmdUI->SetCheck(iPosition==(pCmdUI->m_nIDID_BUTTON_LINE));}UPDATE_COMMAND_UI,UPDATE_COMMAND_UIlicvoidDrawRectText(RECT&rc,CDC&dc);voidCCTOOLView::OnButtonStart()(GetParentFrame()->GetControlBar(IDR_DOCKTOOLBAR));CToolBarCtrl*pToolBarCtrl=&(pToolBar->GetToolBarCtrl());pToolBarCtrl->EnableButton(ID_BUTTON_START,FALSE);pToolBarCtrl->EnableButton(ID_BUTTON_STOP,TRUE);RECTrc;m_bContinue=TRUE;m_bSet=FALSE;for(intii=0;ii<2;ii++){ueTRUEDrawRectText(rc,dc);}}ReleaseDC&dc);m_bSet=TRUE;}voidDrawRectText(RECT&rc,CDC&dc)nDistCPenpen,*pOldPen;pen.CreatePen(PS_SOLID,1,RGB(180,0,0));crightnDistk=rc.bottom/nDist+1;fori0;i<j+k;i++){dcMoveToinDist0);dcLineToi*nDist);dcMoveToinDist;dc.LineTo(rc.right,(j-i)*nDist);}else{dc.MoveTo(0,(i-j)*nDist);dc.LineTo(rc.right,i*nDist);}}dc.SelectObject(pOldPen);DeleteObject(&pen);CFontfont,*pOldFont;OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,NULL);pOldFont=dc.SelectObject(&font);dc.TextOut(10,10,"BUTTON");dc.SelectObject(pOldFont);DeleteObject(&font);}voidCCTOOLView::OnButtonStop()m_bContinue=FALSE;(GetParentFrame()->GetControlBar(IDR_DOCKTOOLBAR));CToolBarCtrl*pToolBarCtrl=&(pToolBar->GetToolBarCtrl());pToolBarCtrl->EnableButton(ID_BUTTON_START,TRUE);pToolBarCtrl->EnableButton(ID_BUTTON_STOP,FALSE);for(intjj=0;jj<2;jj++){}}}voidCTestToolBar::OnLButtonDown(UINTnFlags,CPointpoint)if(m_nIndex==ToolBarCtrl.CommandToIndex(ID_BUTTON_STOP)){ToolBarCtrl.SetState(ID_BUTTON_STOP,ToolBarCtrl.GetState(ID_BUTTON_STOP)&(~TBSTATE_ENABLED&~TBSTATE_PRESSED));ToolBarCtrl.SetState(ID_BUTTON_START,ToolBarCtrl.ToolBarCtrl.Invalidate();AfxGetApp()->OnIdle(-1);m_nIndex=0xffff;}if(m_nIndex==ToolBarCtrl.CommandToIndex(ID_BUTTON_START)){ToolBarCtrl.SetState(ID_BUTTON_START,ToolBarCtrl.GetState(ID_BUTTON_START)&(~TBSTATE_ENABLED&~TBSTATE_PRESSED));ToolBarCtrl.SetState(ID_BUTTON_STOP,ToolBarCtrl.GetState(ID_BUTTON_STOP)&TBSTATE_ENABLED);ToolBarCtrl.Invalidate();AfxGetApp()->OnIdle(-1);m_nIndex=0xffff;}}ON_COMMAND_RANGE(ID_EDIT_TOGGLE,ID_EDIT_UNINDENT,OnButton)ON_UPDATE_COMMAND_UI_RANGE(ID_EDIT_TOGGLE,ID_EDIT_UNINDENT,OnUpdateButton)量afx_msgvoidOnButton(UINTnID);afx_msgvoidOnUpdateButton(CCmdUI*pCmdUI);voidCMainFrame::OnUpdateButton(CCmdUI*pCmdUI)pCmdUI->SetCheck((UINT)(ID_EDIT_TOGGLE+m_bIndex)==pCmdUI->m_nID);}voidCMainFrame::OnButton(UINTnID)m_bIndex=(int)(nID-ID_EDIT_TOGGLE);}#defineWM_IDLEACTIVATEWM_USER+1classCCtrlbarsApp:publicCWinApp{licvirtualBOOLOnIdle(LONGlCount);m_pMainWnd=pMainFrame;BOOLCCTOOLApp::OnIdle(LONGlCount)ASSERT(m_pMainWnd!=NULL);for(HWNDhWnd=::GetWindow(m_pMainWnd->m_hWnd,GW_HWNDFIRST);hWnd!=NULL;hWnd=::GetNextWindow(if(::GetParent(hWnd)==m_pMainWnd->m_hWnd){if(GetActiveWindow()==hWnd&&(::GetCapture()==NULL))SendMessage(hWnd,WM_IDLEUPDATECMDUI,(WPARAM)TRUE,0L);}}returnCWinApp::OnIdle(lCount);}voidCMainFrame::OnViewShort(){m_wndMainToolBar.SetButtonInfo(0,ID_BUTTON_LINE,TBBS_BUTTON,1);m_wndMainToolBar.SetButtonInfo(1,ID_BUTTON_CURSE,TBBS_BUTTON,5);m_wndMainToolBar.SetButtonInfo(6,ID_BUTTON_TEST,TBBS_BUTTON,7);}classCEDITBAR:publicCToolBar{licDITBARBOOLInit(CWnd*pParentWnd,BOOLbToolTips);BOOLSetColor(BOOLbColor);BOOLSetHorizontal();BOOLSetVertical();BOOLm_bVertical;//virtualCSizeCalcFixedLayout(BOOLbStretch,BOOLbHorz);virtualCSizeCalcDynamicLayout(intnLength,DWORDdwMode);}#defineCOMBOBOX_WIDTH150#defineCOMBOBOX_HEIGHT150#defineCOMBOBOX_BITMAP4staticUINTBASED_CODEEditButtons[]=LLITNDINFILESNTTCADEBOOLCEDITBAR::Init(CWnd*pParentWnd,BOOLbToolTips)m_bVertical=FALSE;DWORDdwStyle=WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_SIZE_DYNAMIC;if(bToolTips)dwStyle|=(CBRS_TOOLTIPS|CBRS_FLYBY);if(!Create(pParentWnd,dwStyle,IDB_CEDIT))returnFALSE;if(!LoadBitmap(IDB_CEDIT))returnFALSE;if(!SetButtons(EditButtons,sizeof(EditButtons)/sizeof(UINT)))returnFALSE;CRectrect(-COMBOBOX_WIDTH,-COMBOBOX_HEIGHT,0,0);CBS_AUTOHSCROLL|WS_VSCROLL|CBS_HASSTRINGS,rect,this,IDC_EDITBAR_SEARCHBOX))returnFALSE;HFONThFont=(HFONT)GetStockObject(DEFAULT_GUI_FONT);if(hFont==NULL)hFont=(HFONT)GetStockObject(ANSI_VAR_FONT);m_SearchBox.SendMessage(WM_SETFONT,(WPARAM)hFont);if(!SetHorizontal())returnFALSE;turnTRUE}BOOLCEDITBAR::SetHorizontal()m_bVertical=FALSE;SetButtonInfo(COMBOBOX_INDEX,IDC_EDITBAR_SEARCHBOX,TBBS_SEPARATOR,COMBOBOX_WIDTH);if(m_SearchBox.m_hWnd!=NULL){CRectrect;GetItemRect(COMBOBOX_INDEX,rect);m_SearchBox.SetWindowPos(NULL,rect.left,rect.top,0,0,SWP_NOZORDER|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOCOPYBITS);m_SearchBox.ShowWindow(SW_SHOW);}turnTRUE}BOOLCEDITBAR::SetVertical()m_bVertical=TRUE;SetButtonInfo(COMBOBOX_INDEX,ID_EDIT_FIND,TBBS_BUTTON,COMBOBOX_BITMAP);if(m_SearchBox.m_hWnd!=NULL)m_SearchBox.ShowWindow(SW_HIDE);turnTRUE}CSizeCEDITBAR::CalcDynamicLayout(intnLength,DWORDdwMode)if(dwMode&LM_COMMIT){VERTDOCKifmbVerticalSetVerticalelseif(m_bVertical)SetHorizontal();returnCToolBar::CalcDynamicLayout(nLength,dwMode);}else{BOOLbOld=m_bVertical;BOOLbSwitch=(dwMode&LM_HORZ)?bOld:!bOld;chtHorizontaltVerticalCSizesizeResult=CToolBar::CalcDynamicLayout(nLength,dwMode);itchtHorizontaltVerticalreturnsizeResult;}}CSizeCEDITBAR::CalcFixedLayout(BOOLbStretch,BOOLbHorz)if(!bHorz&&(m_dwStyle&CBRS_SIZE_DYNAMIC)&&CSizesize;size=CControlBar::CalcFixedLayout(bStretch,bHorz);CRectrect;rect.SetRectEmpty();CalcInsideRect(rect,bHorz);size.cx=m_sizeVert.cx+(m_rectInsideVert.Width()-rect.Width());size.cy=m_sizeVert.cy+(m_rectInsideVert.Height()-rect.Height());returnsize;}else{if(m_bVertical)SetHorizontal();returnCToolBar::CalcFixedLayout(bStretch,bHorz);}}virtualBOOLPreTranslateMessage(MSG*pMsg);BOOLCSearchBox::PreTranslateMessage(MSG*pMsg)NreturnCComboBox::PreTranslateMessage(pMsg);CStringstrText;GetWindowText(strText);rtStringstrTexturSelDeleteString(GetCount()-1);}turnTRUE}#include"EDITBAR.H"if(!m_wndEditBar.Init(this,m_bToolTips)){return-1;}DockControlBarLeftOf(&m_wndEditBar,CStyleBarm_wndStyleBar;BOOLCreateStyleBar()if(!CreateStyleBar())return-1;BOOLCMainFrame::CreateStyleBar()constintnDropHeight=100;if(!m_wndStyleBar.Create(this,WS_CHILD|WS_VISIBLE|SetButtons(styles,sizeof(styles)/sizeof(UINT))){returnFALSE;}m_wndStyleBar.SetButtonInfo(0,IDW_COMBO,TBBS_SEPARATOR,100);m_wndStyleBar.SetButtonInfo(1,ID_SEPARATOR,TBBS_SEPARATOR,12);ectrectm_wndStyleBar.GetItemRect(0,&rect);rect.bottom=rect.top+nDropHeight;CBS_DROPDOWNLIST|WS_VISIBLE|WS_TABSTOP,rect,&m_wndStyleBar,IDW_COMBO)){returnFALSE;}if(szStyle.LoadString(IDS_LEFT))m_wndStyleBar.m_comboBox.AddString((LPCTSTR)szStyle);memset(&logFont,0,sizeof(logFont));if(!::GetSystemMetrics(SM_DBCSENABLED)){logFontlfHeight2;ontlfWeightFWBOLDlogFont.lfPitchAndFamily=VARIABLE_PITCH|FF_SWISS;CStringstrDefaultFont;strDefaultFont.LoadString(IDS_DEFAULT_FONT);lstrcpy(logFont.lfFaceName,strDefaultFont);if(!m_wndStyleBar.m_font.CreateFontIndirect(&logFont))elsem_wndStyleBar.m_comboBox.SetFont(&m_wndStyleBar.m_font);}else{m_wndStyleBar.m_font.Attach(::GetStockObject(SYSTEM_FONT));m_wndStyleBar.m_comboBox.SetFont(&m_wndStyleBar.m_font);}turnTRUE}CDialogBarLUINTnID,nStyle;m_wndStatusBar.GetPaneInfo(0,nID,nStyle,cxWidth);m_wndStatusBar.SetPaneInfo(0,nID,SBPS_STRETCH|SBPS_NORMAL,cxWidth);if(!m_wndDlgBar.Create(this,IDD_TOOLBARCTRL,CBRS_LEFT|CBRS_TOOLTIPS|CBRS_FLYBY,IDD_TOOLBARCTRL)){return-1;}BOOLCMainFrame::OnDocktool(UINTnID)BOOLbVisible=((m_wndDockToolBar.GetStyle()&WS_VISIBLE)!=0);ShowControlBar(&m_wndDockToolBar,!bVisible,FALSE);RecalcLayout);turnTRUE}voidCMainFrame::OnUpdateDocktool(CCmdUI*pCmdUI)BOOLbVisible=((m_wndDockToolBar.GetStyle()&WS_VISIBLE)!=0);pCmdUI->SetCheck(bVisible);}ClassWizardvoidCMainFrame::OnButtonTest()BOOLbVisible=((m_wndTestToolBar.GetStyle()&ShowControlBar(&m_wndTestToolB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年邯鄲幼兒師范高等??茖W校高職單招職業(yè)適應性測試參考題庫帶答案解析
- 2026年黑龍江交通職業(yè)技術學院高職單招職業(yè)適應性測試模擬試題有答案解析
- 2026年包頭鐵道職業(yè)技術學院單招綜合素質(zhì)考試備考試題帶答案解析
- 外教英語合同2025年少兒退費細則
- 2026年河北政法職業(yè)學院單招職業(yè)技能考試參考題庫帶答案解析
- 2026年黑龍江能源職業(yè)學院高職單招職業(yè)適應性測試備考試題有答案解析
- 2026年成都銀杏酒店管理學院高職單招職業(yè)適應性測試模擬試題有答案解析
- 2026年貴州工貿(mào)職業(yè)學院單招綜合素質(zhì)筆試備考題庫帶答案解析
- 2026年貴州護理職業(yè)技術學院單招綜合素質(zhì)筆試參考題庫帶答案解析
- 2026年黑龍江能源職業(yè)學院單招綜合素質(zhì)筆試備考試題帶答案解析
- KET考試必背核心短語(按場景分類)
- 2025四川產(chǎn)業(yè)振興基金投資集團有限公司應屆畢業(yè)生招聘9人筆試歷年難易錯考點試卷帶答案解析2套試卷
- 精防醫(yī)生考試試題及答案
- 天然氣制氫項目可行性研究報告
- DB11T 1493-2025 城鎮(zhèn)道路雨水口技術規(guī)范
- 重慶水利安全員c證考試題庫大全及答案解析
- 2025年中國臺球桿行業(yè)市場全景分析及前景機遇研判報告
- bz-高標準農(nóng)田建設項目勘察設計技術投標方案210
- 公司級安全培訓內(nèi)容
- 網(wǎng)格員冬季安全培訓內(nèi)容課件
- (2025修訂版)CAAC無人機理論考試題庫(含答案)
評論
0/150
提交評論