文档库 最新最全的文档下载
当前位置:文档库 › (完整word版)MFC可收对话框实现

(完整word版)MFC可收对话框实现

(完整word版)MFC可收对话框实现
(完整word版)MFC可收对话框实现

MFC可收缩对话框实现

1可收缩对话框使用

可使用窗口的SetWindowPos()函数,下面重点介绍一下这个函数及具体实现过程。

1.1S etWind owPos函数说明

BOOL SetWindowPos(HWND hWndlnsertAfter, int X,int Y,int cX,int cY,UNIT Flags):

1.1.1hWndInsertAfter

此句柄用于控制对话框在Z轴上的显示顺序,它可以是以下值:

?一个窗口句柄:则对话框会显示在此窗口的下一层;

?HWND_BOTTOM:将窗口置于Z序的底部;

?HWND_DOTTOPMOST:将窗口置于所有非顶层窗口之上(即在所有顶层窗口之后);?HWND_TOP:将窗口置于Z序的顶部。

?HWND_TOPMOST:将窗口置于所有非顶层窗口之上。即使窗口未被激活窗口也将保持顶级位置。

1.1.2X、Y

相对以客户坐标指定窗口新位置的左边界、上边界;注意,这个X、Y是相对于调整之前窗口的左上角坐标而言的,即(0, 0)表示左上角不变。

1.1.3cX、cY

指定调整后新窗口的宽度和高度;

1.1.4Flags

指定窗口尺寸和定位的标志。它可能为以下值:

?SWP_ASNCWINDOWPOS:如果调用进程不拥有窗口,系统会向拥有窗口的线程发出需求。这就防止调用线程在其他线程处理需求的时候发生死锁。

?SWP_DEFERERASE:防止产生WM_SYNCPAINT消息。

?SWP_DRAWFRAME:在窗口周围画一个边框(定义在窗口类描述中)。

?SWP_FRAMECHANGED:给窗口发送WM_NCCALCSIZE消息,即使窗口尺寸没有改变也会发送该消息。如果未指定这个标志,只有在改变了窗口尺寸时才发送WM_NCCALCSIZE。

?SWP_HIDEWINDOW:隐藏窗口。

?SWP_NOACTIV A TE:不激活窗口。如果未设置标志,则窗口被激活,并被设置到其他最高级窗口或非最高级组的顶部(根据参数hWndlnsertAfter设置)。

?SWP_NOCOPYBITS:清除客户区的所有内容。如果未设置该标志,客户区的有效内容被保存并且在窗口尺寸更新和重定位后拷贝回客户区。

?SWP_NOMOVE:维持当前位置(忽略X和Y参数)。

?SWP_NOOWNERZORDER:不改变z序中的所有者窗口的位置。

?SWP_NOREDRAW:不重画改变的内容。如果设置了这个标志,则不发生任何重画动作。适用于客户区和非客户区(包括标题栏和滚动条)和任何由于窗回移动而露出的父窗口的所有部分。如果设置了这个标志,应用程序必须明确地使窗口无效并区重画窗口的任何部分和父窗口需要重画的部分。

?SWP_NOREPOSITION:与SWP_NOOWNERZORDER标志相同。

?SWP_NOSENDCHANGING:防止窗口接收WM_WINDOWPOSCHANGING消息。?SWP_NOSIZE:维持当前尺寸(忽略cx和Cy参数)。

?SWP_NOZORDER:维持当前Z序(忽略hWndlnsertAfter参数)。

?SWP_SHOWWINDOW:显示窗口。

对于对话框程序,通常只用设置为:SWP_NOZORDER|SWP_NOMOVE,即保持左上角坐标不变,且保持Z轴顺序不变。

1.2S etWind owPos示例

1.2.1界面介绍

在以上界面中,中间设置了一个长条形的按钮(IDC_BTN_HIDE),它的功能是完成右侧部分窗口的展开与收缩。

为了实现这个功能,我们需要记录以下一些信息:

?右侧展开时窗口的宽度;

?右侧收缩时窗口的宽度:这个可以通过展开时窗口的位置与IDC_BTN_HIDE按钮的位置计算得到;

?当前窗口的状态;

1.2.2代码实现

?我们在类中增加一个表示右侧是否收缩的标志位,记为 iShow,在类的构建函数中初始化为1,即初始时右侧展开;

?在类中增加一个CRect对象rect,用于记录展开时对话框的位置及大小;

?设置IDC_BTN_HIDE按钮的单击代码:

void CProgressBarTestDlg::OnBnClickedBtnHide()

{

// TODO: 在此添加控件通知处理程序代码

CRect rect1;

CButton *btn_Hide = (CButton *)GetDlgItem(IDC_BTN_HIDE);

/* 得到IDC_BTN_HIDE按钮的位置 */

btn_Hide->GetWindowRect(&rect1);

if (iShow == 1)

{

/* 当前右侧窗口是展开的,此时,可用来记录窗口的大小及位置 */

this->GetWindowRect(&rect);

/* 将宽度设为(按钮右顶点的x值–窗口的左顶点x值 + 10像素的边距) */

SetWindowPos(NULL, 0, 0, rect1.right - rect.left + 10, rect.Height(),

SWP_NOZORDER|SWP_NOMOVE);

/* 更新按钮状态及按钮显示文字 */

iShow = 0;

this->SetDlgItemText(IDC_BTN_HIDE, L">>");

}

else

{

/* 当前右侧窗口是不显示的,可直接还原为原来窗口大小,并更新按钮状态及文字 */

iShow = 1;

SetWindowPos(NULL, 0, 0, rect.Width(), rect.Height(), SWP_NOZORDER|SWP_NOMOVE);

this->SetDlgItemText(IDC_BTN_HIDE, L"<<");

}

}

1.2.3效果显示

1.2.4常见误区

在求取窗口的原始位置及大小时,要注意求取的位置,千万不能在initDialog()中求取,我一开始就是在这个函数中计算的,结果返回的rect值是完全错误的,都出现了负值。因为此时,窗口还没有显示出来,得到的坐标值是不准确的。

MFC知识点(自己整理的,只供参考)

知识点:不是很全面,只供参考 第一章 Windows应用程序使用的界面是由各种图形元素组成的图形界面(GUI)。 Windows提供了大量预定义的用C语言编写的函数,这些函数就叫做API(Application Programming Interface)函数。 在Windows应用程序中,存在着许多与DOS应用程序不同的复杂对象,例如窗口、按钮、滚动条等等。Windows把为这种复杂对象所定义的标识叫做句柄。 常用的句柄类型:HWND 窗口句柄,HDC 图形设备环境句柄,HINSTANCE 当前程序应用实例句柄,HBITMAP 位图句柄,HICON 图标句柄,HCURSOR 光标句柄,HBRUSH 画刷句柄,HPEN 画笔句柄,HFONT 字体句柄,HMENU 菜单句柄,HFILE 文件句柄 事件的描述是一个消息 消息的结构: typedef struct tagMSG { HWND hwnd; //产生消息的窗口句柄 UINT message;//消息的标识码 WPARAM wParam;//消息的附加信息1 LPARAM lParam;//消息的附加信息2 DWORD time; //消息进入消息队列的时刻 POINT pt; //表示发送该消息时鼠标的位置 }MSG; 消息循环: while(GetMessage(&msg,NULL,NULL,NULL))//系统处理了消息后返回 { TranslateMessage(&msg);//把键盘消息翻译成字符消息 DispatchMessage(&msg);//把消息派发给Windows系统 创建窗口的三个步骤: 注册窗口类: RegisterClass(&wc); 创建窗口: hwnd=CreateWindow( lpszClassName, "Windows", WS_OVERLAPPEDWINDOW, 120,50,800,600, NULL, NULL, hInstance, NULL); 显示窗口: ShowWindow(hwnd,nCmdShow); UpdateWindow(hwnd); 大题:用函数封装Windows程序(P16) 第二章

word表格字看不到

竭诚为您提供优质文档/双击可除 word表格字看不到 篇一:解决word表格中单元格无法输入文字问题 解决word表格中单元格无法输入文字问题 在网上看到很多朋友都遇到过这样的困惑,就是表格中某些部分无法显示光标,也不能输入文字,一些朋友没有办法只能用文本框来输入,可这毕竟不是最好的方法,也解决不了实际问题,如图1表格中的学历部分: 图一 其实这个问题绝大多数是表格中的文字段落设置不当 造成的。因此,只要把表格中的文字段落设置改一下就可以了。以下是修改过程,只需简单几步就可以解决你的困惑。 1、点击不能输入的单元格,不要考虑光标是否出现,这不是问题;然后双击单元格所对应的标尺上的倒三角形即悬挂缩进,如图2所示: 图2 2、双击后出现“段落”对话框,此时是不是看到特殊格式中有首行缩进或是悬挂缩进,其后的磅值很大,通常超出了该单元格的字符数,所以看不见光变和换行符,如图3

所示: 图3 3、在“段落”设置对话框中,讲特殊格式改为“无”,度量值为空。如图4所示: 图4 4、点击确定后,现在一切是不是正常了。完成后看看标尺和开始时有什么变化如图5: 图 5 篇二:woRd字体显示不全及显示一半怎么回事? 故障分析:一般出现这种故障,要么就是我们负责别人的内容到word里面导致文字信息显示不全,要么就是通过别的电脑打开你的文档出现文字无法显示的情况。导致该故障的原因就包括首先可能是你的word办公软件的字体库数据不全,其次就是我们排版除了问题所导致。 故障解决:word字体库字体不全,所以打开word文档之后,就认不出字体,从而(word表格字看不到)导致word 文档中的文字无法显示及显示不全的故障,这种故障,你必须找到对应的字体进行下载即可解决故障。下载字之后将其复制到c:windowsFonts提醒,字体的格式后缀是ttF输入文字。然后点击字体选项,找到你刚才安装的字体。现在就是检测效果的时候了。

word表格不显示边框

竭诚为您提供优质文档/双击可除word表格不显示边框 篇一:word表格中部分文字显示不全文字右侧或底部不能完整显示 1. 文字上面好像被削了一样 缩小字体,段落——行距——固定值调整一下就ok,这个就是段落的问题,调整一下行距就好了。 插入表格——在“自动调整”操作中——点上根据内容调整表格就可以了! 附图: ------------------------------------------------------ 如下图都有边框的,左边可以明显看到,但是右边的边框不见了,最右边还缺了2个字,下面的表格也是,表格也不全,右边少了2行。 这是由于表格过大造成的,可以按住边框,往里收缩,缩小后就可以看全了。或者把纸张设置大一些也行。或者可

以尝试选中字体后,选择“清除格式” ------------------------------------------------------ 1、表格总高度太高,只能部分显示。调节表格高度或垂直方向页边距应该就行了。 2、首先确保该单元格内部的左右边距是对称的,在表格属性》单元格》选项里看;然后光标定位到单元格内,右键》单元格对齐方式,选一个你需要的。 如果奇偶页分别用一种页眉,这个直接可以设置“奇偶页不同”;如果每页都不同,那么需要在每页的底端和顶端分别插入分节符,令每页分属不同小节,然后各节的页眉脚均可单独设置了 ------------------------------------------------------ 如图 ps03 版office 选中表格单击右键选择表格属性 ---------------------------------------------------

MFC入门--对话框实例

MFC入门--对话框实例 实例1 目的:设计一个基于对话框的程序,界面上有一个“延迟6秒”的按钮,点击后,程序主窗口在6秒内无法拖动。 关键点:MFC程序入门、线程与进程、消息机制 操作过程: 1-新建项目,选择MFC AppWizard (exe),命名项目为“SingleThread”。如图: (注:关于各项目类型的说明,请参见文件“VC功能简介.ppt”的第8页) 2-选择“Dialog based”,点击Finish,仔细观察项目信息。

3-在资源视图内对主对话框添加静态文本:“我的第一个MFC程序”和“演示耗时的单线程”,继而添加一个按钮,按钮现实文字“延迟6秒”,如图: 4-在资源视图内,双击“延时6秒”按钮,为其添加BN_CLICKED消息(按下按钮时发出的消息)的响应函数OnButton1()。在其中添加代码: Sleep(6000); 请根据老师对程序的讲解,思考如下问题: 1.类的继承:三个的类(CAboutDlg、CSingleThreadApp、CStringThreadDlg) 的继承轨迹是怎样的? 2.程序的入口在哪里?有没有类似Win32 Application中对于WM_CREATE的 处理? 3.三个类的对象的关系。 4.消息如何映射?

设计一个基于对话框的程序,开始运行后,每两秒弹出一个消息框。 关键点:MFC程序入门;定时器的建立、使用与删除;消息映射 操作过程: 1-新建项目,选择MFC AppWizard (exe),命名项目为“Test”。 2-选择“Dialog based”。 3-在BOOL CTestDlg::OnInitDialog()函数中添加 SetTimer(1,2000,NULL); // 启动定时器 4-通过ClassWizard给对话框添加WM_DESTROY的响应函数。如图: 在其中添加代码: KillTimer(1); 5-通过ClassWizard给对话框添加WM_TIMER的响应函数。在其中添加代码: if(nIDEvent==1) { ::MessageBox(0,"嘿嘿","你点啊!!",MB_OK); } 请根据老师对程序的讲解,思考如下问题: 1.MFC下与Win32 Application下定时器的使用有什么不同,又有什么相同之 处?

(适合初学者)MFC基础教程

Visual C++/MFC初学教程 目录 +-- 第一章VC入门 |------ 1.1 如何学好VC |------ 1.2 理解Windows消息机制 |------ 1.3 利用Visual C++/MFC开发Windows程序的优势|------ 1.4 利用MFC进行开发的通用方法介绍 |------ 1.5 MFC中常用类,宏,函数介绍 +-- 第二章图形输出 |------ 2.1 和GUI有关的各种对象 |------ 2.2 在窗口中输出文字 |------ 2.3 使用点,刷子,笔进行绘图 |------ 2.4 在窗口中绘制设备相关位图,图标,设备无关位图|------ 2.5 使用各种映射方式 |------ 2.6 多边形和剪贴区域 +-- 第三章文档视结构 |------ 3.1 文档视图框架窗口间的关系和消息传送规律 |------ 3.2 接收用户输入 |------ 3.3 使用菜单

|------ 3.4 文档,视,框架之间相互作用 |------ 3.5 利用序列化进行文件读写 |------ 3.6 MFC中所提供的各种视类介绍 +-- 第四章窗口控件 |------ 4.1 Button |------ 4.2 Static Box |------ 4.3 Edit Box |------ 4.4 Scroll Bar |------ 4.5 List Box/Check List Box |------ 4.6 Combo Box/Combo Box Ex |------ 4.7 Tree Ctrl |------ 4.8 List Ctrl |------ 4.9 Tab Ctrl |------ 4.A Tool Bar |------ 4.B Status Bar |------ 4.C Dialog Bar |------ 4.D 利用AppWizard创建并使用ToolBar StatusBar Dialog Bar |------ 4.E General Window |------ 4.F 关于WM_NOTIFY的使用方法 +-- 第五章对话框 |------ 5.1 使用资源编辑器编辑对话框 |------ 5.2 创建有模式对话框

word表格最后一行边框不显示

竭诚为您提供优质文档/双击可除word表格最后一行边框不显示 篇一:word表格显示隐藏表格的虚框 word表格,显示/隐藏表格的虚框 在word里,可以将表格的某些行(列)的边框线设置 为“无”,但是在编辑界面,还是 可以看到边框线的,只是颜色显示为灰色。如果想让那些设置为“无”了的边框线确实不显示,点击“隐藏虚框”就可以了。word20xx: word20xx: 篇二:woRd中,有三种方法为表格添加边框线,()不能为表格添加边框。a 一、整体解读 试卷紧扣教材和考试说明,从考生熟悉的基础知识入手,多角度、多层次地考查了学生的数学理性思维能力及对数学本质的理解能力,立足基础,先易后难,难易适中,强调应用,不偏不怪,达到了“考基础、考能力、考素质”的目标。试卷所涉及的知识内容都在考试大纲的范围内,几乎覆盖了高中所学知识的全部重要内容,体现了“重点知识重点考查”

的原则。 1.回归教材,注重基础 试卷遵循了考查基础知识为主体的原则,尤其是考试说明中的大部分知识点均有涉及,其中应用题与抗战胜利70 周年为背景,把爱国主义教育渗透到试题当中,使学生感受到了数学的育才价值,所有这些题目的设计都回归教材和中学教学实际,操作性强。 2.适当设置题目难度与区分度 选择题第12题和填空题第16题以及解答题的第21题,都是综合性问题,难度较大,学生不仅要有较强的分析问题和解决问题的能力,以及扎实深厚的数学基本功,而且还要掌握必须的数学思想与方法,否则在有限的时间内,很难完成。 3.布局合理,考查全面,着重数学方法和数学思想的考察 在选择题,填空题,解答题和三选一问题中,试卷均对高中数学中的重点内容进行了反复考查。包括函数,三角函数,数列、立体几何、概率统计、解析几何、导数等几大版块问题。这些问题都是以知识为载体,立意于能力,让数学思想方法和数学思维方式贯穿于整个试题的解答过程之中。 篇三:在word表格中插入图片显示不全问题解决方法 在word表格中插入图片显示不全问题解决方法

word文档不显示表格线

竭诚为您提供优质文档/双击可除word文档不显示表格线 篇一:word表格中部分文字显示不全文字右侧或底部不能完整显示 1. 文字上面好像被削了一样 缩小字体,段落——行距——固定值调整一下就ok,这个就是段落的问题,调整一下行距就好了。 插入表格——在“自动调整”操作中——点上根据内容调整表格就可以了! 附图: ------------------------------------------------------ 如下图都有边框的,左边可以明显看到,但是右边的边框不见了,最右边还缺了2个字,下面的表格也是,表格也不全,右边少了2行。 这是由于表格过大造成的,可以按住(word文档不显示表格线)边框,往里收缩,缩小后就可以看全了。或者把纸

张设置大一些也行。或者可以尝试选中字体后,选择“清除格式” ------------------------------------------------------ 1、表格总高度太高,只能部分显示。调节表格高度或垂直方向页边距应该就行了。 2、首先确保该单元格内部的左右边距是对称的,在表格属性》单元格》选项里看;然后光标定位到单元格内,右键》单元格对齐方式,选一个你需要的。 如果奇偶页分别用一种页眉,这个直接可以设置“奇偶页不同”;如果每页都不同,那么需要在每页的底端和顶端分别插入分节符,令每页分属不同小节,然后各节的页眉脚均可单独设置了 ------------------------------------------------------ 如图 ps03 版office 选中表格单击右键选择表格属性

word无边框表格

竭诚为您提供优质文档/双击可除 word无边框表格 篇一:将word表格的边框和内部线设置不同的线型粗细、颜色 将边框和内部线设置不同的线型粗细、颜色 (1)选中整张表格,单击鼠标右键,从弹出的菜单中选择“边框与底纹”命令,打开“边框与底纹”对话框。 (2)首先设置表格外边框。在“颜色”框下拉菜单中选择“红色”,在“宽度”框下拉菜单中选择“2.5磅”(粗线条,自己任选)。 (3)在“边框与底纹”对话框右边的‘预览’框中,将鼠标分别移到预览表格的上、下、左、右边框线上单击一次鼠标左键,即可将所设置的效果应用于表格外边框上。 (4)接着设置表格内边框,在“颜色”框下拉菜单中选择“红色”,线条宽度可采用默认效果,即细线条。 (5)在‘预览’框中,将鼠标分别移到预览表格的内部线条上单击一次鼠标左键,即可将所设置的效果应用于表格内部线条上。(设置后的表格框线效果如图2所示)(

6)设置完成后,单击“确定”按钮,即可将预览效果应用于选中表格中。 图1 图2 篇二:word表格中部分文字显示不全文字右侧或底部不能完整显示 1. 文字上面好像被削了一样 缩小字体,段落——行距——固定值调整一下就ok,这个就是段落的问题,调整一下行距就好了。 插入表格——在“自动调整”操作中——点上根据内容调整表格就可以了! 附图: ------------------------------------------------------ 如下图都有边框的,左边可以明显看到,但是右边的边框不见了,最右边还缺了2个字,下面的表格也是,表格也不全,右边少了2行。 这是由于表格过大造成的,可以按住边框,往里收缩,缩小后就可以看全了。或者把纸张设置大一些也行。或者可以尝试选中字体后,选择“清除格式”

word中如何设置表格内外边框

竭诚为您提供优质文档/双击可除word中如何设置表格内外边框 篇一:microsoftword中用宏给所有表格设置边框 microsoftword中用宏给所有表格设置边框 sub宏1() 宏1宏 Foreachatableinactivedocument.tables atable.borders.outsidelinestyle=wdlinestylesingle atable.borders.outsidelinewidth=wdlinewidth025pt atable.borders.insidelinestyle=wdlinestylesingle atable.borders.insidelinestyle=wdlinewidth025pt withatable

atable.select with.borders(wdborderleft) .linestyle=wdlinestylesingle .linewidth=wdlinewidth050pt .color=wdcolorautomatic endwith with.borders(wdborderRight) .linestyle=wdlinestylesingle .linewidth=wdlinewidth050pt .color=wdcolorautomatic endwith with.bo rders(wdbordertop) .linestyle=wdlinestylesingle .linewidth=wdlinewidth050pt .color=wdcolorautomatic endwith with.borders(wdborderbottom) .linestyle=wdlinestylesingle .linewidth=wdlinewidth050pt .color=wdcolorautomatic endwith

MFC编程基础教程

第1章基于对话框的Windows应用程序 1.简介Windows编程的两种方法,即Windows API编程和MFC编程。 2.基于对话框的应用程序的创建过程: ?建立基于对话框的MFC 应用程序框架; ?放置控件; ?设置控件属性; ?为控件连接变量,即为控件命名; ?添加并且编写消息处理函数。 3.常用基本控件: ?静态文本框:主要用来显示文本信息,不能接受用户输入 ?命令按钮:是最常见的、应用最广泛的一种控件。在程序执行期间,当单击某个命令按钮后就会执行相应的消息处理函数。 ?编辑框:是一个文本编辑区域,用户可以在该区域输入、编辑和显示正文内容。 ?框架:将一组相关的控件框起来,达到标识一组控件的作用。 ?单选按钮:用户在一组单选按钮中最多只能选择一项。当某一项被选定后,其他选项自动变成未选状态。 ?复选框:列出了可供选择的项,用户可根据需要选择其中的一项或多项,各选项之间的状态互不相关。 ?列表框:通过显示多个选项,供用户选择,达到与用户对话的目的。 ?组合框:组合了编辑框和列表框的特性而形成的一种控件。在列表框中列出可供用户选择的项,当用户选定某项后,该项内容自动装入编辑框中。 ?滚动条:通常附在对话框上用来协助观察数据或确定位置,也可以用来作为数据输入的工具。 1.1 Windows编程基础 Windows 应用程序的主要特点是: ?具有标准的图形用户界面。 ?具有与硬件无关的特性。 ?采用“消息传递,事件驱动”的运行机制。 用Visual C++ 编写Windows 应用程序主要有两种方法:一是使用Windows 提供的应用程序接口(Application Programming Interface ,API )函数;二是使用Microsoft 提供的微软基础类(Microsoft Foundation Class ,MFC )。

word表格下边框不能显示

竭诚为您提供优质文档/双击可除word表格下边框不能显示 篇一:word表格中部分文字显示不全文字右侧或底部不能完整显示 1. 文字上面好像被削了一样 缩小字体,段落——行距——固定值调整一下就ok,这个就是段落的问题,调整一下行距就好了。 插入表格——在“自动调整”操作中——点上根据内容调整表格就可以了! 附图: ------------------------------------------------------ 如下图都有边框的,左边可以明显看到,但是右边的边框不见了,最右边还缺了2个字,下面的表格也是,表格也不全,右边少了2行。 这是由于表格过大造成的,可以按住边框,往里收缩,缩小后就可以看全了。或者把纸张设置大一些也行。或者可

以尝试选中字体后,选择“清除格式” ------------------------------------------------------ 1、表格总高度太高,只能部分显示。调节表格高度或垂直方向页边距应该就行了。 2、首先确保该单元格内部的左右边距是对称的,在表格属性》单元格》选项里看;然后光标定位到单元格内,右键》单元格对齐方式,选一个你需要的。 如果奇偶页分别用一种页眉,这个直接可以设置“奇偶页不同”;如果每页都不同,那么需要在每页的底端和顶端分别插入分节符,令每页分属不同小节,然后各节的页眉脚均可单独设置了 ------------------------------------------------------ 如图 ps03 版office 选中表格单击右键选择表格属性 ---------------------------------------------------

word表格边框显示不全

竭诚为您提供优质文档/双击可除word表格边框显示不全 篇一:word表格中部分文字显示不全文字右侧或底部不能完整显示 1. 文字上面好像被削了一样 缩小字体,段落——行距——固定值调整一下就ok,这个就是段落的问题,调整一下行距就好了。 插入表格——在“自动调整”操作中——点上根据内容调整表格就可以了! 附图: ------------------------------------------------------ 如下图都有边框的,左边可以明显看到,但是右边的边框不见了,最右边还缺了2个字,下面的表格也是,表格也不全,右边少了2行。 这是由于表格过大造成的,可以按住边框,往里收缩,缩小后就可以看全了。或者把纸张设置大一些也行。或者可

以尝试选中字体后,选择“清除格式” ------------------------------------------------------ 1、表格总高度太高,只能部分显示。调节表格高度或垂直方向页边距应该就行了。 2、首先确保该单元格内部的左右边距是对称的,在表格属性》单元格》选项里看;然后光标定位到单元格内,右键》单元格对齐方式,选一个你需要的。 如果奇偶页分别用一种页眉,这个直接可以设置“奇偶页不同”;如果每页都不同,那么需要在每页的底端和顶端分别插入分节符,令每页分属不同小节,然后各节的页眉脚均可单独设置了 ------------------------------------------------------ 如图 ps03 版office 选中表格单击右键选择表格属性 ---------------------------------------------------

创建基于对话框的MFC工程(详细图示)

实例001 如何创建基于对话框的MFC工程 《Visual C++开发实战1200例(第I卷)》本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Visual C++进行程序开发各个方面的知识和技巧,主要包括编程基础、界面设计、应用程序控制和图形图像。本节为大家介绍实例001 如何创建基于对话框的MFC工程。 AD: 第1章开发环境 工程创建 开发环境设置与使用 程序调试 1.1 工程创建 实例001 如何创建基于对话框的MFC工程 要使用Visual C++开发软件,首先要创建一个工程,而基于对话框的MFC工程则是用户广泛使用的工程。图1.1将是一个新创建的基于对话框的MFC工程。本实例将介绍如何创建基于对话框的MFC工程。

( New窗口的Projects选项卡中选择MFC AppWizard[exe](MFC应用程序向导)选项,在Project name文本框中输入创建的工程名"Hello",在Location文本

(2)单击OK按钮,弹出MFC AppWizard-Step 1窗口,如图1.3所示。 在MFC AppWizard-Step1窗口中可以指定生成框架的类型。 Single document:生成单文档应用程序框架。 Multiple documents:生成多文档应用程序框架。 Dialog based:生成基于对话框的应用程序框架。 Document/View architecture support:选中该复选框,允许生成文档/视图和非文档/视图结构程序。 (3)本实例选中Dialog based单选按钮,创建一个生成基于对话框的应用程序。单击Next按钮,弹出MFC AppWizard-Step 2 of 4窗口,如图1.4所示。

简易MFC对话框程序设计教程

简易MFC对话框程序设计教程 天津大学仁爱学院信息系杨晓龙 我们之前所学习的C语言是一种面向过程的语言,重点在于程序或算法执行过程,提供那些过程才能实现程序,每一个操作都由我们自己完成。C++是一种面向对象的语言。对象是一个封装体,是一个实例,它里面不仅封装了程序运行时所需变量,更重要的是它还封装了程序运行所需操作即函数,其实真正定义它们的是一种叫“类”的数据结构,不过要引用里面的数据和操作必须通过类所定义的对象。这样做的好处是可以把经常使用的,属于同一类型的数据和操作包含在类当中,在编程时通过该类所实例化的对象调用它们(对象避免了重复,而且对象可以代表一种变量、一个实例或某个控件),简化了代码,提高了代码的复用性,增强了程序的可移植性,降低了错误发生率,摆脱了每次编写程序都要编写大量代码的麻烦。MFC(Microsoft Foundation Class)是微软提供给编程者的基础类库,它里面包含了创建对话框程序所需的各种类,在向导的帮助下,它会自动生成一些代码,我们只需调用它里面的少量成员函数便可完成对话框的创建和对话框程序的编程,如果让我们自己编写将是浩大而艰难的工程。MFC将常用的几乎所有的有关对话框的函数和变量封装起来,使我们避免了编写复杂而且重复的代码。 用C语言所编写的程序是DOS程序,只能在黑乎乎的DOS界面下运行,但C语言是C++的基础,而C++又是MFC的基础,用MFC编写的是windows应用程序有对话框,所以要回MFC 编程得先学C语言和C++才能学MFC。以下将以编写求三角形面积的程序为例说明简单MFC 程序的制作方法。 打开vc6.0,文件—新建—选择MFC AppWizard(exe),工程名称“三角形面积计算器”—确定—选择“基本对话框”,此时即可点“完成”,也可点下一步,直到出现询问“您希望使用MFC库吗?”若选择“作为共享的DLL”,则程序在未安装vc6.0的电脑上无法运行;若选择“作为静态的DLL”,则程序在未安装vc6.0的电脑上也能运行。此后一直点确定即可。 点击“完成”后出现由向导创建的基本对话框,在对话框上点右键—属性,可更改对话框标题和字体。在右侧选择组件,先插入三个编辑框作为三角形三边长,在插入一按钮发出计算命令,然后再插入一编辑框作为面积输出。在每一个编辑框旁配上静态文本说明,修改按钮标题。在vc6.0左侧的资源视图中选中关于对话框,可修改版本信息。至此对话框主体设计完成。 以下是程序最关键的部分。我们拥有C语言的基础,用C语言编写三角形面积代码(算法)不是问题,问题在于如何将编辑框中输入的数据传给算法中的变量以及如何使计算完成的结果输出到编辑框。实现这一数据交换(传输)有七中方法,其中最简单、最直观、最实用的方法是将编辑框与算法中的变量其的关联。步骤如下:选中对应编辑框,右键选择建立类向导,选择“Member Variables(成员变量)”选项卡,选择要关联变量的控件ID号,再点击“Add Variable(添加变量)”,设定变量名如“m_sizeA”,在Variable Type(变量类型)中选择float(不同程序视所需变量类型确定),OK。同样方法,将其他两边和面积分别关联变量。这样就使编辑框分别与各变量取得了关联,以后可认为编辑框和变量是一样的,对变量的任何操作都会反映到编辑框中,接下来我们就可以像编C程序一样编写代码了。可是代码应该写在什么地方呢,程序在什么时候执行呢?我们的目的是在按下计算按钮后程序执行,所以还需对按钮进行设定,让按钮被按下后执行程序。这个过程被称作消息捕获,操作系统捕获到“点击”的消息后将信息传给应用程序,应用程序便转入执行算法。在按钮上点击右键,选择“建立类向导”,选择“Message Maps(消息地图)”选项卡,选中按钮ID号,在“Messages(消息)”中选中“BN_CLICKED(按钮单击)”消息响应方式(因为按钮可以有单击、双击、移动等多种操作,所以对应有多种消息响应方式,即选择:当对按钮执行怎样的操作后执行消息响应函数),然后点击“Add Function(添加消息响应函数)”添加响应消息的函数或操作,也就是指当按钮被按下后要做什么,在弹出的对话框中可以更改函数名,确定后点击“Edit Code(编辑代码)”便自动转入消息响应函数中,我们就可以在这里写我们的算法代码了。代码如下:

MFC对话框几个对话框程序例子建立对话框与相应程序相关联

MFC对话框和对话框类几个对话框程序例子建立对话框与相应的程序相关联如何建立对话框与相应的程序相关联: 在MFC中,对资源的操作都是建立相关的类来完成的; 所以我门先NEW 一个对话框资源然后建立他的类与相应的应用程序相关联就可以; 步骤: 1 NEW 一个对话框资源 2 在资源上选择 Classwarrzd上创建一个新的类(或在资源上双击左键) 3 起名字!(注意文件名将会去掉C 例如我门的名字叫 CDaiDlg那么文件名是 DaiDlg); 对话框的俩种类型: 1 模态对话框(特性:当建立模态对话框时,将不允许用户点击对话框以外的控件后应用程序本身,也就是说当模态对话框建立时应用程序停止运行而只运行对话框,所以模态对话框是可以使用局部变量的定义方法的!) 模态对话框是比较方便的一种对话框~建立函数: int CDialog::DoMadol() //注意他是CDialog类成员也就是说想使用先建立一个 CDialog 对象吧 如果我门想要在View类中建立一个 CDialog对象不要忘了要在View的Cpp 文件中包含 CDialog.h 2 非模态对话框(特性与模态的相反) 使用成员函数 BOOL CDialog::Create( UINT nIDTemplate, CWnd* pParentWnd = NULL ); nIDTemplate 为对话框的ID号 pParentWnd 拥有这个对话框的对象指针,如果是NULL 为默认的主应用窗口也就是 Frame应用窗口 注意如果我门在使用Create创建非模态对话框时要调用一个函数来显示这个对话框 CWnd::ShowWindow(SW_SHOW);不仅这样非模态对话框时不能是局部变量!

mfc单文档插入对话框

2012/7/18 1.新建一个mfc单文档工程Test. 2.在资源视图中,dialog处右键insert dialog. 3.在新建的dialog上右击,属性-style-child,对话框上双击,新建类 name CCdialod,选择base class为cformview. 4.在cmainframe类上添加变量CSplitterWnd m_wndSplitter选为 protected. 5.classwizard在cmainframe中重载OnCreateClient函数 BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { m_wndSplitter.CreateStatic(this,1,2); m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CTestView), CSize(1100, 0), pContext); //CMy039View是视图类 m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CCdialod), CSize(0, 0), pContext); //LDLG是对话框类 SetActiveView((CTestView*)m_wndSplitter.GetPane(0, 0)); //指定类视图 return true; } 6.在TestView.h中添加头文件 #include "TestDoc.h" 7.在mainframe.h中添加 #include "TestView.h" #include "Cdialod.h"

MFC开发常用知识点总结

开辟空间 cmd_zone=newchar[CMD_LENGH];//指令空间 data_zone=newchar[DATA_LENGH];//数据空间 ax=newchar[4]; bx=newchar[4]; cx=newchar[4]; sp=newchar[SP_LENGH];//堆栈空间 pc=newchar[4]; memset(cmd_zone,0,CMD_LENGH);//设置大小 memset(data_zone,0,DATA_LENGH); memset(ax,0,4); memset(bx,0,4); memset(cx,0,4); memset(sp,0,SP_LENGH); memset(pc,0,4); srand((unsignedint)(time(0)));//随机数起始 分配地址(16位:2,2,4,4,4) cmd_code=*((unsignedshort*)cmd_zone); cmd_nouse=*((unsignedshort*)cmd_zone+2); cmd_arg1=*(unsignedint *)(cmd_zone+4); cmd_arg2=*(unsignedint *)(cmd_zone+8); cmd_arg3=*(unsignedint*)(cmd_zone+12); 输出数据(EDITCONTROL) CString bbb; bbb.Format(_T("%d %d %d %d %d"),X,X,X,X,X); UpdateData(true); myedit += bbb + _T("\r\n"); UpdateData(false); 动态创建按钮 static CButton *btn =new CButton();

word表格的边框不见了

竭诚为您提供优质文档/双击可除word表格的边框不见了 篇一:设置woRd表格的边框线为无、删除woRd表格的线条 要想设置word表格的边框线条不显示出来,最好的办法就是设置线条为无,即不启用边框线。这是最好的办法,方法如下: 选中表格,如下图,然后点击鼠标右键,弹出如下图的菜单。 如上图,选择表格属性,弹出如下图。 电脑教程 上图,选择表格选项卡,然后,点击对话框下面的边框和底纹,弹出如下图。 上图中,选择边框选项卡,然后,选择无,这样就行了,最后点击确定退出即可。 现在,就设置好了,可是,在文档编辑状态下,我们仍然能够看到表格单元格的边框线,这是为什么呢,这是因为考虑到您的操作上的方便,暂时能看到线条。 当我们在打印预览状态或直接打印的时候,表格的边框

线条、单元格四周的线,就不会出来了。 还有另外一种方法就是,可以设置边框边框线条的意思和文档背景颜色一样,这样,就看不出来了,也能取到取消边框线的目的。 篇二:woRd打印出的图形和表格没有边框 使用word编辑了文档,但图形和表格在打印后没有边框。这种故障可以按照以下方法进行解决。 1.在word中选择word;选项。 2.在打印选项中,取消草稿输出及图形对象选项。 3.单击确定,即可完成设置。 篇三:word表格中部分文字显示不全文字右侧或底部不能完整显示 1. 文字上面好像被削了一样 缩小字体,段落——行距——固定值调整一下就ok,这个就是段落的问题,调整一下行距就好了。 插入表格——在“自动调整”操作中——点上根据内容调整表格就可以了! 附图: ------------------------------------------------------

简单的MFC多对话框演示程序

简单的MFC多对话框演示程序 “MultiDialog” 演示如何在工程中拥有多个对话框,及如何在一个对话框中调用另一个对话框。 重点:1、多个对话框类的建立;2、对话框的模式(Modal)调用方法;3、Spin控件的使用。 新建一个基于对话框的MFC工程, 通过菜单"Insert>>Resource"打开添加资源对话框, 在其中选择Dialog后点击New创建一个新的对话框 按Ctrl+W打开ClassWizard,系统会提示刚才创建了一个新的对话框资源,是否建立对应的类, 选择建立,然后在New Class窗口中Class Name栏输入它的名称:CSubClass1, 确定后系统会自动生成SubClass1.h和SubClass1.cpp并加入工程中,其中有已经创建好的CSubClass1的类的基本代码。 把这个对话框的Caption属性改为“难度选择”,在它上面画三个Radio“简单”、“标准”、“困难”, 并建立相关联的变量m_Option1。(要注意的是在ClassWizard中注意Class Name中应该选CSubClass1而不是之前的主对话框类) 按照相同方法建立第二个新对话框,类名“CSubClass2”,Caption为“关卡选择”。 在上面画一个Edit和一个Spin,注意先画Edit后画Spin,将Spin的Auto buddy和Set buddy integer勾上。 按Ctrl+W打开ClassWizard,为Edit建立关联变量,不过注意是int型而不是CString型,也为Spin建立关联变量m_Spin1,注意这次是Control型变量CSpinButtonCtrl。

word表格中部分文字显示不全文字右侧或底部不能完整显示

1.文字上面好像被削了一样 缩小字体,段落——行距——固定值调整一下就ok,这个就是段落的问题,调整一下行距就好了。 插入表格——在“自动调整”操作中——点上根据内容调整表格就可以了! 附图: ------------------------------------------------------ 如下图都有边框的,左边可以明显看到,但是右边的边框不见了,最右边还缺了2个字,下面的表格也是,表格也不全,右边少了2行。 这是由于表格过大造成的,可以按住边框,往里收缩,缩小后就可以看全了。或者把纸张设置大一些也行。或者可以尝试选中字体后,选择“清除格式” ------------------------------------------------------ 1、表格总高度太高,只能部分显示。调节表格高度或垂直方向页边距应该就行了。 2、首先确保该单元格内部的左右边距是对称的,在表格属性》单元格》选项里看;然后光标定位到单元格内,右键》单元格对齐方式,选一个你需要的。 如果奇偶页分别用一种页眉,这个直接可以设置“奇偶页不同”;如果每页都不同,那么需要在每页的底端和顶端分别插入分节符,令每页分属不同小节,然后各节的页眉脚均可单独设置了 ------------------------------------------------------ 如图

PS 03版office 选中表格单击右键选择表格属性 ------------------------------------------------------ 填写表格形式的word文档,从另外一个WORD里的表格资料复制到一个WORD文档资料里时,填满当前页表格之后没有自动生成第二页,而是直接在第一页的最下面,文字也没有显示,只想一页显示不出可以分两页。 表格——自动调整,试一下先把表格里的所有字全都缩小,缩成一页后,再试,比如清除格式、重新设置;还有表格属性里的选项,比如自动调整适应文字多试试。 如图,表格本来是连着的,最后一个表格字数打多了以后,就自动和前边分开跑到下一页去了,下一页打满了以后,字直接看不到了。

MFC分析对话框的运行机制心得体会

VC++ MFC属性表对话框的运行机制 2012-07-01 19:09 属性表对话框的初始化包括框架对话框的初始化和页的初始化。页的初始化工作可在OnInitDialog函数中进行,而框架对话框的初始化应该在OnCreate函数中完成。 根据CPropertySheet::DoModal返回的是IDOK还是IDCANCEL,程序可以判断出关闭对话框时按的是OK还是Cancel按钮,这与普通对话框是一样的。 如果属性表对话框是模态对话框,在其底部会有3个按钮,依次为OK、Cancel和Apply (应用)按钮,如果对话框是非模态的,则没有这些按钮。OK与Cancel按钮的意义与普通按钮没什么两样,Apply按钮则是属性

表对话框所特有的。普通的模态对话框只有在用户按下了OK按钮返回后,对话框的设置才能生效,而设计Apply的意图是让用户能在不关闭对话框的情况下使对话框的设置立即生效。由此可见,Apply按钮的作用是使用户在设置完数据后,不必退出对话框,就可以反复进行设置,这在许多应用场合下是很有用的。 为了对上述3个按钮作出响应,CPropertyPage类提供了OnOK,OnCancel 和OnApply函数,用户可覆盖这3个函数以完成所需的工作。需要指出的是这3个函数并不是直接响应按钮的BN_CLICKED消息的,但在按钮按下后它们是被间接调用。这些函数的说明如下: 1.Virtual void OnOK( ):在按下OK或Apply按钮后,该函数被调用。默认的OnOK

函数几乎什么也不干,像数据交换和关闭对话框这样的工作是在别的地方完成的,这与普通对话框的OnOK函数是不同的: 2.Virtual void OnCancel( ):在按下Cancel 按钮后,该函数将被调用。默认的OnCancel 函数也是几乎什么也不干; 3.Virtual BOOL OnApply( ):在按下OK 或Apply按钮后,该函数将被调用。默认的OnApply 会调用OnOK函数。函数的返回值如果是TRUE,则对话框中的设置将生效,否则无效。 令人不解的是,MFC并未考虑CPropertySheet类的按钮响应问题,不要指望能通过ClassWizard来自动创建按钮的BN_CLICKED消息处理函数,通常的按钮

相关文档
相关文档 最新文档