您好,欢迎访问三七文档
VC基本常识(转)(2010-02-0308:35:34)转载标签:类对象thisiftpmit分类:C/CPPAfxMessageBox(Copy);表示弹出一个消息框消息是Copy;1.启动界面的步骤a.创建一个单文档框架b.在工程菜单里选择添加工程c.在添加工程里选择ComponentsandControlsGalleryd.ComponentsandControlsGallery里选VisuanC++Componentse.VisuanC++Components里选择SplashScreen控件f.如果想改动启动界面只需要加入新的位图替换原来的位图g.如果想延长界面显示时间可以调节SetTimer(1,1520,NULL);第一个参数对应nIDEvent2.给菜单里添加位图的步骤a.创建一个单文档框架b.在视类里添加CBitmap类对象;需要几个位图就添加几个对象c.在视类的构造函数里调用CBitmap类对象的成员函数LoadBitmap(位图ID);初始化CBitmap类对象d.在视类里的OnDraw(CDC*pDC)函数添加一下函数e.CWnd*parent=GetParent();CMenu*pmenubar=parent-GetMenu();CMenu*pmenu=pmenubar-GetSubMenu(0);pmenu-SetMenuItemBitmaps(0,MF_BYPOSITION,&bm_New,&bm_New);pmenu-SetMenuItemBitmaps(1,MF_BYPOSITION,&bm_Open,&bm_Open);pmenu-SetMenuItemBitmaps(2,MF_BYPOSITION,&bm_Save,&bm_Save);3.改变主窗口的大小形状的步骤!a.创建一个单文档框架b在MainFrm类中添加消息函数WM_SIZE(OnSize())c在OnSize()中添加一下函数就可以了:dCRgnm_rgn;CRectrc;GetWindowRect(&rc);rc-=rc.TopLeft();m_rgn.CreateRoundRectRgn(rc.left,rc.top,rc.right,rc.bottom,100,100);SetWindowRgn(m_rgn,TRUE);4把主窗口分成几部分的步骤a.创建一个单文档框架b在MainFrm类中重载虚拟函数OnCreateClient(在类向导里可以找到该虚拟函数)c.在MainFrm类中添加CSplitterWndm_Splitter类对象;d.OnCreateClient虚拟函数中添加如下代码CRectcr;GetClientRect(&cr);CSizepaneSize(cr.Width()/3,cr.Height()/3);m_Splitter.CreateStatic(this,3,1);m_Splitter.CreateView(0,0,RUNTIME_CLASS(CExampleView),paneSize,pContext);m_Splitter.CreateView(1,0,RUNTIME_CLASS(CExampleView),paneSize,pContext);m_Splitter.CreateView(2,0,RUNTIME_CLASS(CExampleView),paneSize,pContext);returnTRUE;5.在主窗口的两边创建滚动条的步骤a.创建一个单文档框架b在MainFrm类中重载虚拟函数OnCreateClient(在类向导里可以找到该虚拟函数)c.在MainFrm类中添加CSplitterWndm_Splitter类对象;d.OnCreateClient虚拟函数中添加如下代码returnm_Splitter.Create(this,2,2,CSize(10,10),pContext);6.创建透明图形的步骤a.创建一个对话框框架b.在OnInitDialog()函数中添加以下代码,画出图形HRGNm_wndRgn;CClientDCdc(this);CFontmFont;mFont.CreateFont(200,50,0,0,FW_HEAVY,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,宋体);//openapathbrackets,anapplicationcanbegincallingGDI//drawingfunctionstodefinethepointsthatlieinthepath.dc.BeginPath();dc.SetBkMode(TRANSPARENT);CFont*pOldFont;pOldFont=dc.SelectObject(&mFont);dc.TextOut(0,0,◎◎);dc.EndPath();m_wndRgn=::PathToRegion(dc);this-SetWindowRgn(m_wndRgn,TRUE);dc.SelectObject(pOldFont);c.进入MFCClassWizard,在ClassInfo下的Messagefilter选择Window,然后在回到MessageMaps中找到(WM_NCHITTEST)添加该消息函数图形就会随着鼠标移动d.在该消息函数中添加以下代码UINTnHitTest=CDialog::OnNcHitTest(point);return(nHitTest==HTCLIENT)?HTCAPTION:nHitTest;7.创建界面缓缓进入,缓缓退出的效果a.创建一个单文档框架b.在StdAfx.h文件的开始部分添加以下代码#undefWINVER#defineWINVER0x500c.在OnCreate()消息函数中添加以下代码AnimateWindow(GetSafeHwnd(),1000,AW_SLIDE|AW_HOR_POSITIVE);d.创建OnClose()消息函数并添加以下代码AnimateWindow(GetSafeHwnd(),1000,AW_HIDE|AW_CENTER);8.给某一个控件设置鼠标,比如给button按钮设置鼠标的步骤a.创建一个对话框框架b.在MFCClassWizard创建(WM_SETCURSOR)消息函数c.在该函数下添加以下代码CStringsClassName;HCURSORm_Cursor;::GetClassName(pWnd-GetSafeHwnd(),sClassName.GetBuffer(80),80);if(sClassName==Button){m_Cursor=AfxGetApp()-LoadCursor(IDC_CURSOR1);::SetCursor(m_Cursor);returnTRUE;}9.在对话框中添加menu菜单的步骤a.创建一个对话框框架b.在ResourseView中建立Menu菜单,c.在ResourseView中打开Dialog对话框在属性对话框里在MENU选项下选择10.在对话框中添加ToolBar的步骤a.创建一个对话框框架b.在ResourseView中建立Toolbar工具条c.在Dialog类的OnInitDialog()函数中添加以下代码CRectrect;GetClientRect(rect);if(!m_wndToolBar.Create(this)){TRACE0(Failedtocreatetoolbar\n);return-1;//failtocreate}m_wndToolBar.LoadToolBar(IDR_TOOLBAR1);m_wndToolBar.MoveWindow(100,0,rect.right,32);d.根据Toolbar里的图形ID号!创建一个消息函数!添加以下代码AfxMessageBox(Click!);单击该图型就会有个消息框!e.11.在对话框中添加StatusBar的步骤a.创建一个对话框框架b.在StringTable中添加两个状态值c.在对话框类.h里添加CStatusBar类对象;d.在对话框类.cpp里添加以下代码:staticUINTindicators[]={IDS_PANEL1,//为StringTabl里添加的ID值IDS_PANEL2,};和OnInitDialog()函数里添加CRectrect;GetClientRect(rect);//状态条if(!m_wndStatusBar.Create(this)||!m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT))){TRACE0(未能创建状态栏\n);return-1;//未能创建}m_wndStatusBar.MoveWindow(0,rect.bottom-20,rect.right,20);12.添加CDialogBar的步骤a.创建一个单文档框架b.在MainFrm.h中添加一个public:型CDialogBarm_wndDialogBar对象;c.在MainFrm.cpp中的OnCreate(LPCREATESTRUCTlpCreateStruct)函数中添加如下代码m_wndDialogBar.Create(this,IDD_DIALOG1,CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC,IDD_DIALOG1);m_wndDialogBar.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndDialogBar);13.制作橡皮球的步骤a.创建一个单文档框架b.在视图类.h中添加CRectTrackerm_tracker;类对象,和左键消息c.在视图类的初始化函数中添加以下代码m_tracker.m_rect.SetRect(0,0,30,30);m_tracker.m_nStyle=CRectTracker::resizeInside|CRectTracker::dottedLine;d.在视图类的OnDraw()函数中添加以下代码CBrushbrush(RGB(0,255,255));CBrush*pOldBrush=pDC-SelectObject(&brush);CRectrcEllipse;m_tracker.GetTrueRect(rcEllipse);pDC-Ellipse(rcEllipse);m_tracker.Draw(pDC);pDC-SelectObject(pOldBrush);c.在视图类的OnLButtonDown()消息函数中添加以下代码CExampleDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);BOOLbResult=m_tracker.HitTest(point)!=CRectTracker::hitNothing;if(bResult){m_tracker.Track(this,point,true);pDoc-SetModifiedFlag();pDoc-UpdateAllViews(NULL);}elsem_tracker.TrackRubberBand(this,point,true);14。给右键添加属性的步骤a.创建一个对话框框架b.加入一个Menu资源c.创建WM_CONTEXTMENU消息函数并加入以下代码CMenumenu;menu.LoadMenu(IDR_MENU1);me
本文标题:VC基本常识
链接地址:https://www.777doc.com/doc-3645954 .html