知识点-(3).pdf
《知识点-(3).pdf》由会员分享,可在线阅读,更多相关《知识点-(3).pdf(20页珍藏版)》请在咨信网上搜索。
1、属性中的 Border 中的各个属性,分别表示什么Dialog Frame WS_CAPTION|WS_POPUP|WS_SYSMENU|WS_CLIPSIBLINGS|DS_MODALFRAMEWS_EX_DLGMODALFRAME|WS_EX_WINDOWEDGEThin比 Dialog Frame 缺少一个扩展属性 WS_EX_DLGMODALFRAMENone 比 Dialog Frame 缺少 WS_CAPTION|DS_MODALFRAME比 Dialog Frame 缺少扩展属性 WS_EX_DLGMODALFRAME|WS_EX_WINDOWEDGEResizing 比 Dia
2、log Frame 多一个属性 WS_THICKFRAME:Creates a window with a thick frame that can be used to size the window.(可调整窗口大小)Button 里面的属性 owner draw,就是自己画按钮,是按钮变得多姿多彩删除一个导入的 ICON,按键盘的 delete 按钮CWnd*AfxGetMainWnd();使用 AfxGetMainWnd 函数获取 MFC 程序中的主框架类指针是一个常用作法。就是获得应用程序主窗口的指针,AfxGetMainWnd()-m_hWnd 是主窗口的句柄。隐藏工具栏和菜单栏v
3、oid CMainFrame:HideMenuStatusToolBar(BOOL bflag)/跟 CStationSystemAppView 里面的OnInitialUpdate 函数联系起来一块用才能隐藏if(bflag)SetMenu(NULL);DrawMenuBar();ShowControlBar(&m_wndStatusBar,false,false);ShowControlBar(&m_wndToolBar,false,false);elseShowControlBar(&m_wndStatusBar,false,false);ShowControlBar(&m_wndToo
4、lBar,false,false);Public:CMainFrame*m_pMainFrame;在 C_VIEW 里的 OnInitialUpdate 里加上这两句m_pMainFrame=(CMainFrame*)AfxGetMainWnd();/这句也要加上m_pMainFrame-HideMenuStatusToolBar(true);/取消对话框中的菜单栏和状态栏SetMenuSetMenu 用法用法SetMenu-函数功能 函数功能:该函数分配一个到。函数原型:BOOL SetMenu(HWND hWnd,HMENU hMenu);参数:hWnd:菜单被分配到其中的窗口的句柄。HM
5、enu:新菜单的句柄。如果菜单参数为 NULL,则窗口的当前菜单被删除。SetMenu-返回值 返回值:如果函数调用成功,返回非零值;如果函数调用失败,是零。若想获得更多的错误信息,请调用 GetLaSError 函数。备注:窗口被重画来反映菜单的修改。函数 SetMenu 替换原来的菜单(如果存在),但并不将其销毁。应用程序必须调用函数 DestroyMenu 来销毁菜单。DrawMenuBar为指定的窗口重画菜单。用 api 函数改变一个窗口菜单的内容时,就要用到这个函数ShowControlBar()可以用来控制是否显示该工具栏Invalidate()函数的作用是使整个窗口客户区无效,窗
6、口客户无效即需要重绘,这时 Window 系统会发送一 WM_PAINT 消息放在应用程序的消息队列中,WM_PAINT 消息的优先级很低,所以不会立即重绘。如果需要立即重绘,那么就使用 UpdateWindow()函数,该函数可使WM_PAINT 被直接发送到目标窗口,从而导致窗口立即重绘。EnableWindow(false)表示禁用一个按钮,默认是 TRUEOnPaint 是 WM_PAINT 消息的消息处理函数,在 OnPaint 中调用 OnDraw,一般来说,用户自己的绘图代码应放在 OnDraw 中。OnPaint()是 CWnd 的类成员,负责响应 WM_PAINT 消息。On
7、Draw()是 CVIEW 的成员函数,没有响应消息的功能.当视图变得无效时(包括大小的改变,移动,被遮盖等等),Windows 发送 WM_PAINT 消息。该视图的 OnPaint 处理函数通过创建CPaintDC 类的 DC 对象来响应该消息并调用视图的 OnDraw 成员函数.OnPaint 最后也要调用 OnDraw,因此一般在 OnDraw 函数中进行绘制。ONERASEBKGND 实现双缓冲绘图,擦除背景的。CreateCompatibleDC该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。通过 GetDc()获取的 HDC直接与相关设备沟通,而本函数创建的 DC,则是
8、与内存中的一个表面相关联。BitBlt该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。函数原型函数原型BOOL BitBlt(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop);编辑本段编辑本段参数参数hdcDest:指向目标设备环境的句柄。nXDest:指定目标矩形区域左上角的 X 轴逻辑坐标。nYDest:指定目标矩形区域左上角的 Y 轴逻辑坐标。nWidth:指定源和目标矩形区域的逻辑宽度。nH
9、eight:指定源和目标矩形区域的逻辑高度。hdcSrc:指向源设备环境的句柄。nXSrc:指定源矩形区域左上角的 X 轴逻辑坐标。nYSrc:指定源矩形区域左上角的 Y 轴逻辑坐标。dwRop:指定光栅操作代码。这些代码将定义源矩形区域的颜色数据,如何与目标矩形区域的颜色数据组合以完成最后的颜色。下面列出了一些常见的光栅操作代码:BLACKNESS:表示使用与物理调色板的索引 0 相关的色彩来填充目标矩形区域,(对缺省的物理调色板而言,该颜色为黑色)。DSTINVERT:表示使目标矩形区域颜色取反。MERGECOPY:表示使用布尔型的 AND(与)操作符将源矩形区域的颜色与特定模式组合一起。
10、MERGEPAINT:通过使用布尔型的 OR(或)操作符将反向的源矩形区域的颜色与目标矩形区域的颜色合并。NOTSRCCOPY:将源矩形区域颜色取反,于拷贝到目标矩形区域。NOTSRCERASE:使用布尔类型的 OR(或)操作符组合源和目标矩形区域的颜色值,然后将合成的颜色取反。PATCOPY:将特定的模式拷贝到目标位图上。PATPAINT:通过使用布尔 OR(或)操作符将源矩形区域取反后的颜色值与特定模式的颜色合并。然后使用 OR(或)操作符将该操作的结果与目标矩形区域内的颜色合并。PATINVERT:通过使用 XOR(异或)操作符将源和目标矩形区域内的颜色合并。SRCAND:通过使用 AN
11、D(与)操作符来将源和目标矩形区域内的颜色合并。SRCCOPY:将源矩形区域直接拷贝到目标矩形区域。SRCERASE:通过使用 AND(与)操作符将目标矩形区域颜色取反后与源矩形区域的颜色值合并。SRCINVERT:通过使用布尔型的 XOR(异或)操作符将源和目标矩形区域的颜色合并。SRCPAINT:通过使用布尔型的 OR(或)操作符将源和目标矩形区域的颜色合并。WHITENESS:使用与物理调色板中索引 1 有关的颜色填充目标矩形区域。(对于缺省物理调色板来说,这个颜色就是白色)。dwRop ValuesFrom wingdi.h:#define BLACKNESS 0 x42#define
12、 DSTINVERT 0 x550009#define MERGECOPY 0 xC000CA#define MERGEPAINT 0 xBB0226#define NOTSRCCOPY 0 x330008#define NOTSRCERASE 0 x1100A6#define PATCOPY 0 xF00021#define PATINVERT 0 x5A0049#define PATPAINT 0 xFB0A09#define SRCAND 0 x8800C6#define SRCCOPY 0 xCC0020#define SRCERASE 0 x440328#define SRCINVE
13、RT 0 x660046#define SRCPAINT 0 xEE0086#define WHITENESS 0 xFF0062加载 zhujiemian 那页图void CSubstationSystemView:OnPaint()CPaintDC dc(this);/device context for painting/TODO:Add your message handler code here/Do not call CFormView:OnPaint()for painting messagesCDC memdc;CRect rect;GetWindowRect(&rect);/
14、函数功能:该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。CBitmap bitmap,*oldbitmap;bitmap.LoadBitmap(IDB_zhujiemian);memdc.CreateCompatibleDC(&dc);/该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。通过 GetDc()获取的 HDC 直接与相关设备沟通,而本函数创建的 DC,则是与内存中的一个表面相关联。oldbitmap=memdc.SelectObject(&bitmap);dc.BitBlt(0,0,rect.right,rect.bottom,&memdc
15、,0,0,SRCCOPY);memdc.SelectObject(oldbitmap);ReleaseDC(&memdc);一定要加上这些/这样照片才能显示出来void CSubstationSystemView:DoDataExchange(CDataExchange*pDX)CFormView:DoDataExchange(pDX);/AFX_DATA_MAP(CSubstationSystemView)/NOTE:the ClassWizard will add DDX and DDV calls hereDDX_Control(pDX,IDC_BTN_SANWEI,m_sanwei);
16、DDX_Control(pDX,IDC_BTN_LIANXI,m_lianxi);DDX_Control(pDX,IDC_BTN_KAOSHI,m_kaoshi);DDX_Control(pDX,IDC_BTN_XUEXI,m_xuexi);DDX_Control(pDX,IDC_BTN_GUANLI,m_guanli);DDX_Control(pDX,IDC_BUTTON1,m_btn1);DDX_Control(pDX,IDC_BUTTON2,m_btn2);DDX_Control(pDX,IDC_BUTTON3,m_btn3);DDX_Control(pDX,IDC_BUTTON4,m_
17、btn4);DDX_Control(pDX,IDC_BUTTON5,m_btn5);DDX_Control(pDX,IDC_BUTTON6,m_btn6);DDX_Control(pDX,IDC_BUTTON7,m_btn7);DDX_Control(pDX,IDC_BUTTON8,m_btn8);DDX_Control(pDX,IDC_BUTTON9,m_btn9);DDX_Control(pDX,IDC_BUTTON10,m_btn10);DDX_Control(pDX,IDC_BUTTON11,m_btn11);DDX_Control(pDX,IDC_BUTTON12,m_btn12);
18、DDX_Control(pDX,IDC_BUTTON13,m_btn13);DDX_Control(pDX,IDC_BUTTON14,m_btn14);DDX_Control(pDX,IDC_BUTTON15,m_btn15);/一定要加上这些东西/AFX_DATA_MAP可以添加 CButton 类型的变量,如果是需要 CBitmapButton 或者 CImageButton 类型,则进行修改,在 dodatachange 中上述代码会自动添加上,所以说要在 Classward 中添加按钮的成员变量LoadBitmaps 的用法CBitmapButton:LoadBitmaps BOOL
19、LoadBitmaps(LPCTSTR lpszBitmapResource,LPCTSTR lpszBitmapResourceSel=NULL,LPCTSTR lpszBitmapResourceFocus=NULL,LPCTSTR lpszBitmapResourceDisabled=NULL);BOOL LoadBitmaps(UINT nIDBitmapResource,UINT nIDBitmapResourceSel=0,UINT nIDBitmapResourceFocus=0,UINT nIDBitmapResourceDisabled=0);Return ValueNonz
20、ero if successful;otherwise 0.EnableWindow指定是否要启用或禁用窗口。如果此参数为 true,则窗口已启用。如果该参数为 FALSE,则窗口被禁用。Invalidate指定更新区域内的背景是否是要被擦除。CSize 类 类 CSize 是对 Windows 结构 SIZE 的封装,凡是能用 SIZE 结构的地方都可以用 CSize 代替。结构 SIZE 表示一个矩形的长度和宽度,其定义为:typedef struct tagSIZE LONG cx;LONG cy;SIZE;其中 cx、cy 分别是宽度和高度。CScrollView:SetScrollS
21、izes这种方法称为视图进行更新时。若要调整滚动特性的 OnUpdate 方法的重写中调用它。例如此方法很有用,最初显示文档时,或当它更改大小。void SetScrollSizes(int nMapMode,SIZE sizeTotal,const SIZE&sizePage=sizeDefault,const SIZE&sizeLine=sizeDefault);该函数用于对滚动条进行设置。因为滚动条是附着在窗口之上的,而且它是用来对显示的文档进行操作的,因而我们应该在窗口和文档都创建完毕、窗口尚未显示之前对滚动条进行设置。因此可以在OnInitialUpdate(该函数调用 OnUpda
22、te)中或 OnUpdate 函数中调用 SetScrollSizes 完成对滚动条的设置。当我们想得到一个窗口对象(CWnd 的派生对象)指针的句柄(HWND)时,最安全的方法是使用 GetSafeHwnd()函数,CWnd:GetParentFrame呼叫此成員函式以取得父框架視窗。RecalcLayout 是 CFrameWnd 定义的虚拟函数,边框窗口在必要的时候调用虚拟函数 RecalcLayout 来重新放置它的控制条和客户窗口,例如在创建窗口时、响应消息 WM_SIZE 时调用 ResizeParentToFit 函数令视图大小控制其框架窗口的大小。如果在 App 的 InitI
23、nstance 中有:m_pMainWnd-ShowWindow(SW_SHOWMAXIMIZED);要现将这一句改为 m_pMainWnd-ShowWindow(SW_SHOW);否则,在 MainFrame 的 PreCreateWindow 里面设置 cs 的 cx 与 cy 不起作用要弄一个应用程序配置文件,首先新建一个 text 文档,然后更名为.config 格式的,然后你想显示的东西写在里面,CFile file(F:张悦祎SubstationSystemsystem.config,CFile:modeRead);int nlen=file.GetLength();char*bu
24、f;buf=new charnlen+1;memset(buf,0,nlen+1);file.Read(buf,nlen);file.Close();m_pMainWnd-SetWindowText(buf);这样之后你以后要修改的话,只需要去.config 那个文件中去修改就可以了Cstdiofile 类继承自 CFile 类参数内容:第一个参数为路径+文件名,最后一个为错误出现的结构.现在解释下第二个参数CFile:modeCreate Directs the constructor to create a new file.If the file exists already,it is
25、 truncated to 0 length.指定构造器创建一个新的文件,如果文件已经存在,则内容截 0.CFile:modeNoTruncate Combine this value with modeCreate.If the file being created already exists,it is not truncated to 0 length.Thus the file is guaranteed to open,either as a newly created file or as an existing file.This might be useful,for exa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 知识点
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。