搜档网
当前位置:搜档网 › VC++之随父窗口变化调整控件大小位置

VC++之随父窗口变化调整控件大小位置

VC++之随父窗口变化调整控件大小位置
VC++之随父窗口变化调整控件大小位置

VC++之随父窗口变化调整控件大小/位置

如果对话框或视类的大小调后,控件的大小和位置没有变化,界面看起来会很不爽.

控件是从CWnd派生的,但不能使用SetWindowPos()或OnSize()或OnSizing()来改变其大小,应在父窗口的WM_SIZE消息中使用MoveWindow()来进行调整。

一、VC++之根据对话框大小调整控件大小和位置

1、在对话框类中加入成员变量CRect m_rect;用于保存对话框大小变化前的大小;

2、在对话框的OnInitDialog()函数中获取对话框创建时的大小:

GetClientRect(&m_rect);

3、在WM_SIZE的响应函数OnSize()中加入以下代码:

CWnd *pWnd;

pWnd = GetDlgItem(IDC_BUTTON1); //获取控件句柄

if(nType==1) return; //如果是窗体最小化则什么都不做

if(pWnd)//判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建

{

CRect rect; //获取控件变化前大小

pWnd->GetWindowRect(&rect);

ScreenToClient(&rect);//将控件大小转换为在对话框中的区域坐标

//cx/m_rect.Width()为对话框在横向的变化比例

rect.left=rect.left*cx/m_rect.Width();/////调整控件大小

rect.right=rect.right*cx/m_rect.Width();

rect.top=rect.top*cy/m_rect.Height();

rect.bottom=rect.bottom*cy/m_rect.Height();

pWnd->MoveWindow(rect);//设置控件大小

}

GetClientRect(&m_rect);//将变化后的对话框大小设为旧大小

二、VC++之根据对话框大小仅调整控件位置

1、在对话框类中加入成员变量CRect m_rect;用于保存对话框大小变化前的大小;

2、在对话框的OnInitDialog()函数中获取对话框创建时的大小:

GetClientRect(&m_rect);

3、在WM_SIZE的响应函数OnSize()中加入以下代码:

CWnd *pWnd;

pWnd = GetDlgItem(IDC_BUTTON1); //获取控件句柄

if(nType==1) return; //如果是窗体最小化则什么都不做

if(pWnd)//判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建

{

CRect rect; //获取控件变化前大小

LONG cWidth,cHeight; //记录控件的右部到窗体右部的距离,记录控件的底部到窗体底部的距离

pWnd->GetWindowRect(&rect);

ScreenToClient(&rect);//将控件大小转换为在对话框中的区域坐标

cWidth=m_rect.Width()-rect.right;

cHeight=m_rect.Height()-rect.bottom;

rect.left=cx-rect.Width()-cWidth;

rect.right=cx-cWidth;

rect.top=cy-rect.Height()-cHeight;

rect.bottom=cy-cHeight;

pWnd->MoveWindow(rect);//设置控件大小

}

GetClientRect(&m_rect);//将变化后的对话框大小设为旧大小

Flash舞台随窗口大小动态调整

本文介绍如何建立一个舞台随窗体尺寸大小动态改变的Flash例子,使用的脚本为AS3.0 1.建立工程 2.新建一个AS文件,主要实现舞台的动态缩放功能 代码如下:

package { import flash.display.Sprite; import flash.display.Stage; import flash.events.Event; import flash.external.ExternalInterface; public class BrowserCanvas { public static const HACK_MARGIN_BOTTOM:String = "marginBottom"; //Adds a negative bottom margin to object tags to compensate for browser weirdness public static const HACK_IE_REPARENT:String = "IEReparent"; //In IE, create a container div which encapsulates the object tag in order to hav min/max sizes work public static const HACK_UNIQUE_ID:String = "uniqueId"; //If you put both an embed and object tag with the same id, this tries to compensate private var stage:Stage; private var containerId:String; private var _width:String; private var _minWidth:String; private var _maxWidth:String; private var _height:String; private var _minHeight:String; private var _maxHeight:String; private var timerSprite:Sprite; public function BrowserCanvas ( stage:Stage,containerId:String=null , browserHacks:Array=null ) { trace("BrowserCanvas - Copyright (c) 2008 Noel Billig (https://www.sodocs.net/doc/2911823227.html,)"); this.stage = stage; timerSprite = new Sprite(); _width = String( stage.stageWidth ); _height = String( stage.stageHeight ); if (browserHacks == null) browserHacks = [HACK_MARGIN_BOTTOM,HACK_IE_REPARENT,HACK_UNIQUE_ID]; this.containerId = containerId;

如何实现控件随对话框大小变化而自动调整大小和位置

如何实现控件随对话框大小变化而自动调整大小和位置 VC++ 2009-12-28 20:27:42 阅读461 评论0字号:大中小订阅 1. 处理对话框的WM_SIZE,然后用MoveWindow或者SetWindowPos来把对话框上面的控件重新调整新位置和大小。 2. 基本的做法就是响应WM_SIZE消息,并按照窗口大小比例来调整控件的位置和大小,控件的大小最好设置成窗口的百分之几,这样的话,就可以根据窗口的大小随时调整了。 3. 每次OnSize 即可获得一个CRect,然后根据这个CRect来确定这些控件的位置和大小,使用函数MoveWindow 或SetWindowpos实现。 4. 1)通过下面两个函数获取的是显示屏幕的大小【屏幕的分辨率】(不包括任务栏等区域): int nFullWidth=GetSystemMetrics( SM_CXFULLSCREEN ); //屏幕宽度 int nFullHeight=GetSystemMetrics( SM_CYFULLSCREEN ); //屏幕高度 2)这两个函数获取的是真正屏幕的大小【屏幕的分辨率】(包括任务栏等区域): int cx = GetSystemMetrics( SM_CXSCREEN ); int cy = GetSystemMetrics( SM_CYSCREEN ); 如:用前两个函数获取的大小可能是1024*687 ,而用下边两个获取的就是1024*768。 5. 在OnSize() 中调用:GetClientRect() 和GetWindowRect() 函数可获取窗口大小,但需注意得到的是设备坐标,如果需要画图什么的还需要转换成逻辑坐标。 6. 字体大小随窗口变化而自动变化,比如说始终使字的高度始终占窗口的1/3。使用: 1). 在Creat中将nHeight设成窗口长度或者宽度的一定比值就行了(最好在onsize函数中设置); 2). 使用WM_FONTCHANGE 消息。 ***************************************************************************************************** ************************************** 转载自: https://www.sodocs.net/doc/2911823227.html,/u/20090314/16/835a3bbb-2d13-4842-922a-8a07cde1a055.html (作者:Fireway2008) 总结步骤: 1.创建一个CWnd* 的数组,在初始化时取的各个控件的句柄,存在这个数组里面 2.处理WM_SIZE事件,可以得到新变化后的窗口和最初窗口的变化比例kx,ky 3.对数组中的每一个控件,计算新位置 4.MoveWindow移动到新位置

C#在主窗体Panel中添加新的窗体

在主窗体Panel中添加新的窗体(C#,winform开发) 本文的要写的是如何将窗体(Form)添加到panel中。 为什么要这样呢? 1)如果用tab控件,整个窗体的控件太多,不易于我们编程; 2)可以更灵活的控制窗体的布局。 我想你一定看过这样的配制信息窗体吧(迅雷的配置页面)。 在你的项目开发中,是否也希望做出做出这种效果呢?应该如何设置呢?单击窗体的左边的按钮,窗体右边的内容会根据单击的按钮变化. 开始是想到的设置思路很简单,主窗体(如上图),右边放置一个Panel控件.然后根据单击的按钮将子窗体显示在Panel控件上.在按钮的单击事件中加入下面的代码:private void button1_Click(object sender, EventArgs e) {ChildForm child = new ChildForm(); this.panel1.Controls.Add(child); child.Show(); }运行程序显示“不能将顶级控件添加到一个控件上”出现“不能将顶级控件添加到一个控件上”错误怎么处理?在代码中加入 child.TopLevel = false;OK.新问题又出现了.我们不希望子窗体的标题和边筐也显示在父窗体中,再添加如下代码.

child.FormBorderStyle = FormBorderStyle.None;现在的感觉是不是舒服多了.但是还隐藏着一个新问题.怎样动态设置子窗体的Size、Location等呢?我希望在调整父窗体大小时,Panel1中子窗体的大小也跟随动态自动调整 .需要加入下面的事件 private void panel1_Resize(object sender,System.EventArgs e) { try { this.child.ClientSize=new System.Drawing.Size(panel1.Size.Width,pa nel1.Size.Height); } catch(System.Exception Er) { MessageBox.Show(Er.ToString()); } }编译无错,执行时(Error:未将对象引用设置到对象的实例) 但连续点了4个一样的错误提示确认后,程序却可以正常执行,并且form1调整窗体大小form2也可以随之响应了。 此计不行,又生一计.我们可以把子窗体当成一个控件,设置Dock属性不就行了吗?赶快测试一下:private void button1_Click(object sender, EventArgs e) {ChildForm child = new ChildForm(); child.TopLevel = false; child.Dock = System.Windows.Forms.DockStyle.Fill; child.FormBorderStyle = FormBorderStyle.None; //child.Parent = this.panel1; this.panel1.Controls.Add(child); child.Show(); }

VC中图像控件的用法与总结

使用picture控件动态显示图片方法 一控件适应于图片尺寸 添加一个picture控件,修改ID为IDC-PICTURE,并添加一CBitmap m_bmp成员变量在OnInitDialog()函数中添加如下代码 if(m_bmp.m_hObject!=NULL) m_bmp.DeleteObject(); //以绝对路径加载BMP图片 HBITMAP hbmp=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),"1.bmp",IMAGE_BITMAP, 0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE); if(hbmp==NULL) return false; //获得加载位图的文件信息 m_bmp.Attach(hbmp); DIBSECTION ds; BITMAPINFOHEADER &bminfo=ds.dsBmih;//获得位图信息图 m_bmp.GetObject(sizeof(ds),&ds); int cx=bminfo.biWidth;//获得位图宽度 int cy=bminfo.biHeight;//获得位图高度 //该段程序根据图象的宽和高,调整控件大小,让它正好显示一张图片 CRect rect; GetDlgItem(IDC_PICTRUE)->GetWindowRect(&rect);//获得控件所在矩形区域 ScreenToClient(&rect); GetDlgItem(IDC_PICTRUE)->MoveWindow(rect.left,rect.top,cx,cy,true);//调整控件大小在OnPaint()函数中添加如下代码 //三种方法获得pictrue控件DC,图象将被绘制在控件上 CPaintDC dc(GetDlgItem(IDC_PICTRUE)); //CPaintDC dc(this); //CDC dc; //dc.m_hDC=::GetDC(NULL); CRect rcclient; GetDlgItem(IDC_PICTRUE)->GetClientRect(&rcclient); CDC memdc; memdc.CreateCompatibleDC(&dc); CBitmap bitmap; bitmap.CreateCompatibleBitmap(&dc,rcclient.Width(),rcclient.Height()); memdc.SelectObject(&bitmap); CWnd::DefWindowProc(WM_PAINT,(WPARAM)memdc.m_hDC,0); CDC maskdc; maskdc.CreateCompatibleDC(&dc); CBitmap maskbitmap; maskbitmap.CreateBitmap(rcclient.Width(),rcclient.Height(),1,1,NULL); maskdc.SelectObject(&maskbitmap);

使用菜单、工具栏来改变窗口的大小与颜色-15页word资料

使用菜单、工具栏来改变窗口的大小与颜色 10、WinForms高级编程 目标 创建一个更改窗口的大小与颜色的应用程序。创建一个单文档的文本编辑器应用程序。指导教师讲解阶段目标 第一部分指导(60分钟) 练习1:使用菜单、工具栏来改变窗口的大小与颜色 问题 主菜单、快捷菜单、工具栏和状态栏的应用实例 指导教师讲解问题说明 用户在窗体上单击右键,弹出图示的快捷菜单。执行其中的颜色命令可产生与主菜单中相应命令等效的结果。某命令执行时菜单项左侧带有"?"标记。再次执行该菜单命令取消相应的颜色及菜单项左侧的"?"标记,将颜色恢复为背景色。执行快捷菜单中的"红"命令,然后再次打开快捷菜单后,如图1.2所示。 图1.1默认窗体背景色 图1.2红色背景色 分析 指导教师分析解题思路 添加工具栏和状态栏后,窗体的界面设计如图1.3所示。主要用到了这些控件:MenuStrip,Context MenuStrip,ToolStrip,StatusStrip。 图1.3窗体设计界面 推荐步骤: (1)创建Windows应用项目。 (2)按照设计界面添加相应的控件,并在主菜单和快捷菜单中添加相应的菜单项;并添加相应的点击处理事件函数。 (3)完整的代码如下: using System;

using System.Collections.Generic; using SystemponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace menuToolStatus{ public partial class Form1:Form public Form1() InitializeComponent(); private void MenuItem_default_Click(object sender,EventArgs e) this.BackColor=Control.DefaultBackColor; MenuItem_default.CheckState=CheckState.Indeterminate; cMenuItem_default.CheckState=CheckState.Indeterminate; MenuItem_blue.Checked=MenuItem_green.Checked=MenuItem_red. Checked=false; cMenuItem_blue.Checked=cMenuItem_green.Checked=cMenuItem_r ed.Checked=false; StatusLabel3.Text="默认颜色"; private void cMenuItem_default_Click(object sender,EventArgs e) MenuItem_default_Click(sender,e); private void MenuItem_red_Click(object sender,EventArgs e) MenuItem_red.Checked=!MenuItem_red.Checked; if(MenuItem_red.Checked) this.BackColor=Color.Red; MenuItem_red.CheckState=CheckState.Indeterminate;

使用窗体控件

第2章使用窗体控件 课堂练习:为控件创建事件处理程序 5)传递给这个事件处理程序的第二个参数(e)的目的是什么? 答:参数e包含事件数据。它是一个EventArgs 对象(实际不包含事件数据的基类),或者是一个派生类(像MouseEventArgs)的实例。要查看派生类的完整列表,请在Visual Studio .NET帮助文档中使用短语“EventArgs 类”进行查找,然后点击链接转到“派生类”。 ●为Click 事件创建一个事件处理程序。 3)上面的双击动作为什么创建了一个Click 事件处理程序? 答:当在设计视图中双击一个控件时,IDE会自动为默认事件创建一个事件处理程序。课堂练习:创建和使用ToolBar控件 8)为什么不能向ToolBar 按钮添加图像呢? 答:ToolBar 控件将ImageList 控件作为图像源。使用ToolBar 控件的ImageList 属性指定Toolbar 将从哪个ImageList 控件获取图像。 13)运行应用程序。单击工具栏按钮时有事情发生吗?必须处理什么事件以响应单击ToolBar按钮? 答:ToolBar 的ButtonClick事件用来处理ToolBar按钮的单击。ToolBarButtonClickEventArgs 用来确定单击了哪个按钮。 课堂练习:在运行时添加和移除控件 ●添加新控件 6)为什么decimalCheckBox 出现在GroupBox1控件的左上角? 答:控件位置属性的默认坐标X和Y的值均为零。 课堂练习:在运行时更新菜单 ●使用另一个MainMenu 9)什么时候能在一个应用程序中使用多个MainMenu 控件? 答:在应用程序的上下文改变或者应用程序有多种状态时,使用(显示)多个MainMenu 对象会很有帮助。 ●将一个ContextMenu 分配给一个控件。 5)如何找出哪个控件与ContextMenu 有关联? 答:ContextMenu.SourceControl 属性获取显示快捷方式菜单的控件。 ●找出与ContextMenu关联的控件

VC++基础控件案例图详解

一.简单MFC应用程序开发。 例1. 编写如下图的程序,若单击“复制”按钮,则把上面的编辑框中的内容复制到下面的编辑框中;若单击“结束”按钮,则退出程序的运行。 (1)工程创建 ①选择“文件|新建”命令; ②在“工程”选项卡中,选定“MFC App Wizard(exe),输入工程名称TEST,单击“确定”按钮; ③选定“D基本对话框”即创建基于对话框的应用程序,单击“完成”按钮。

(2)放置控件,先删除原有的控件,然后放置本例需要的控件,本例共涉及4个控件:2个编辑框和2个命令按钮。编辑框主要用来输入数据,也可以用来显示数据;命令按钮用来执行有关操作。

(3)设置控件的属性,控件添加后就要设置其有关的属性。 scroll和Auto VScroll,编辑框将有垂直滚动条;选定“Want Return”。

下编辑框的属性设置同上编辑框,但可不选定“Want Return”。 (4)连接变量,为控件连接变量就是为控件起一个名字。每一个控件都是一个对象,调用MFC类库中的函数都是通过对象来实现的。编辑框属于CEdit类,一个具体的编辑框就是一个CEdit类的对象,如上IDC_EDIT1和IDC_EDIT2。这些对象必须有名称才能对它们进行操作,所以要给每一个对象连接一个变量,作为对象的名称。这个变量将成为类中的一个数据成员。 现在为IDC_EDIT1连接一个变量m_e1。 ①在IDC_EDIT1编辑框中右击鼠标出现快捷菜单选择“建立类向导”,如下图所示。 ②在上图中选择“创建类向导”后,弹出如下图所示的MFC ClassWizard对话框,在“Member Variables”中,选定“IDC_EDIT1”,再选择“Add Variable”按钮。

VB中控件位置大小自动适应窗体变化的三种模式详解

VB中控件位置大小自动适应窗体变化的三种模式详解.doc 代码是无需更改的。 第一种。就是最实用的,就是所有控件的width和height按比例随窗体变化,位置也是当然是按比例哦。控件的字体不变。如下复制到代码: '改比例,字体不该。最实用 Option Explicit Private FormOldWidth As Long '保存窗体的原始宽度 Private FormOldHeight As Long '保存窗体的原始高度 Private Sub Form_Load() Call ResizeInit(Me) '在程序装入时必须加入 End Sub Private Sub Form_Resize() Call ResizeForm(Me) '确保窗体改变时控件随之改变 End Sub '在调用ResizeForm前先调用本函数 Public Sub ResizeInit(FormName As Form) Dim Obj As Control FormOldWidth = FormName.ScaleWidth FormOldHeight = FormName.ScaleHeight On Error Resume Next For Each Obj In FormName Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " " Next Obj On Error GoTo 0 End Sub '按比例改变表单内各元件的大小,在调用ReSizeForm前先调用ReSizeInit函数 Public Sub ResizeForm(FormName As Form) Dim Pos(4) As Double Dim i As Long, TempPos As Long, StartPos As Long Dim Obj As Control Dim ScaleX As Double, ScaleY As Double ScaleX = FormName.ScaleWidth / FormOldWidth '保存窗体宽度缩放比例 ScaleY = FormName.ScaleHeight / FormOldHeight '保存窗体高度缩放比例 On Error Resume Next For Each Obj In FormName StartPos = 1 For i = 0 To 4 '读取控件的原始位置与大小 TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare) If TempPos > 0 Then

向用户窗体中添加控件

若要向用户窗体中添加控件,请在“工具箱”中查找要添加的控件,将该控件拖到窗体上,然后拖动控件上的调整柄,直至控件的外边框成为所需的大小和形状。 注意如果将控件(或若干“成组”的控件)从窗体拖回到“工具箱”,将创建该控件的一个模板,该模板可被重新使用。对于实现应用程序的标准界面,这是非常有用的功能。 向窗体添加了控件之后,可用 Visual Basic 编辑器中“格式”菜单上的命令调整控件的对齐方式和间距。 上页:Excel VBA教程:向文档中添加控件下页:Excel VBA教程:应用程序对象事件 Excel VBA Excel VBA教程:应用程序对象事件Excel VBA教程:图表对象事件 Excel VBA教程:控件和对话框事件Excel VBA教程:在某一 Microsoft Office 应用程序中控制其他 Microsoft Office 应 用程序 Excel VBA教程:创建自定义对话框Excel VBA教程:新建工作簿 Excel VBA教程:创建“用户窗体”Excel VBA教程:显示自定义对话框 Excel VBA教程:获取有关 Macintosh 关键 字的帮助 Excel VBA教程:在单元格区域中循环Excel VBA教程:如何引用单元格和区域Excel VBA教程:初始化控件属性Excel VBA教程:打开工作簿Excel VBA教程:QueryTable对象事件 Excel VBA教程:引用工作表上的所有单元格Excel VBA教程:用 A1 样式记号引用单元格 和单元格区域 Excel VBA教程:用编号引用单元格Excel VBA教程:相对于其他单元格来引用单 元格 Excel VBA教程:用 Range对象引用单元格Excel VBA教程:用快捷记号引用单元格

VC6.0中控件及按钮的设置和使用资料

VC6.0中控件及按钮的设置和使用 VC学习笔记1:按钮的使能与禁止 用ClassWizard的Member Variables为按钮定义变量,如:m_Button1; 则 m_Button1.EnableWindow(true); 使按钮处于允许状态 m_Button1.EnableWindow(false); 使按钮被禁止,并变灰显示 VC学习笔记2:控件的隐藏与显示 用CWnd类的函数BOOL ShowWindow(int nCmdShow)可以隐藏或显示一个控件。 例1: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT为控件ID号 pWnd->ShowWindow( SW_HIDE ); //隐藏控件 例2: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT为控件ID号 pWnd->ShowWindow( SW_SHOW ); //显示控件 以上方法常用于动态生成控件,虽说用控件的Create函数可以动态生成控件,但这种控件很不好控制,所以用隐藏、显示方法不失为一种替代手段。 VC学习笔记3:改变控件的大小和位置 用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置。 void MoveWindow(int x,int y,int nWidth,int nHeight); void MoveWindow(LPCRECT lpRect); 第一种用法需给出控件新的坐标和宽度、高度; 第二种用法给出存放位置的CRect对象; 例: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT1为控件ID号 pWnd->MoveWindow( CRect(0,0,100,100) ); //在窗口左上角显示一个宽100、高100的编辑控件 SetWindowPos()函数使用更灵活,多用于只修改控件位置而大小不变或只修改大小而位置不变的情况:BOOL SetWindowPos(const CWnd* pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags); 第一个参数我不会用,一般设为NULL;

C#自定义控件实现控件随窗口大小改变

1.新建用户控件,取名MyForm。 2.将默认的UserControl改成Form 3.在类中添加以下代码 private float X, Y; //获得控件的长度、宽度、位置、字体大小的数据 private void setTag(Control cons)//Control类,定义控件的基类 { foreach (Control con in cons.Controls) { con.Tag = con.Width + ":"+ con.Height + ":"+ con.Left + ":"+ con.Top + ":" + con.Font.Size;//获取或设置包含有关控件的数据的对象

if (con.Controls.Count > 0) setTag(con);//递归算法 } } private void setControls(float newx, float newy, Control cons)//实现控件以及字体的缩放 { foreach (Control con in cons.Controls) { string[] mytag = con.Tag.ToString().Split(new char[] { ':' }); float a = Convert.ToSingle(mytag[0]) * newx; con.Width = (int)a; a = Convert.ToSingle(mytag[1]) * newy; con.Height = (int)(a); a = Convert.ToSingle(mytag[2]) * newx; con.Left = (int)(a); a = Convert.ToSingle(mytag[3]) * newy; con.Top = (int)(a); Single currentSize = Convert.ToSingle(mytag[4]) * newy; con.Font = new Font(https://www.sodocs.net/doc/2911823227.html,, currentSize, con.Font.Style, con.Font.Unit); if (con.Controls.Count > 0) { setControls(newx, newy, con);//递归 } } } private void MyForm_Resize(object sender, EventArgs e) { float newx = (this.Width) / X;//当前宽度与变化前宽度之比 float newy = this.Height / Y;//当前高度与变化前宽度之比 setControls(newx, newy, this); this.Text = this.Width.ToString() + ""+ this.Height.ToString(); //窗体标题显示长度和宽度

电脑应用窗口的大小调节方法

电脑应用窗口的大小调节方法 很多用户问我Win7系统打开的窗口太小了,比如:右击桌面、QQ登陆面板等;除了修改电脑分辨率外?大家知道电脑应用窗口的大小调节吗?下面我们就给大家详细介绍一下吧! ?1、每个应用的窗口大小和位置信息存储在: “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applic ationFrame\Positions\[应用的PackageFamilyName]![应用的ID]”下的PositionObject中。其中E序存储,格式如下: ?0x0000:永远为0x0000002C。 ?0x0004:激活了窗口最大化时为0x00000002,其余时候是0x00000000。?0x0008:窗口关闭时的状态。使用窗口大小时为0x00000001,最小化时为0x00000002,最大化时为0x00000003。 ?如果当前状态为最小化0x00000002,下次打开窗口时:如果0x0004为 0x00000002,就会以最大化状态打开窗口;如果0x0004为0x00000000,就会使用窗口大小还原窗口。 ?0x000C:最小化时为0xFFFF8300,其余时候是0xFFFFFFFF。 ?0x0010:永远为0xFFFFFFFF。 ?0x0014:永远为0xFFFFFFFF。 ?0x0018:永远为0xFFFFFFFF。 ?0x001C:窗口左上角像素的X-7,图中为0x000000C8(十进制200)。(可以得到结论,随机生成的位置即使最靠左上角也会在左侧空出7像素) ?0x0020:窗口左上角像素的Y,图中为0x00000040(十进制64)。 ?0x0024:窗口右下角像素的X-8,图中为0x000003F8(十进制1016)。

实验名称MFC基本控件的使用

1、实验名称:MFC基本控件的使用 2、实验目的:掌握编辑框类及其方法,熟练掌握利用编辑框类开发基于MFC的应用 程序的方法。 3、实验内容:使用MFC AppWizard创建如图一所示的基于对话窗的应用程序,实现算 术加、减、乘和除运算。 图一 4、程序实现方法: (1)使用AppWizard建立应用程序框架 ①在进入Visual C++ 6.0的第一个界面下,选择MFC AppWizard(exe),在Project name 文本输入框中输入新建的项目名称“计数器”,并设置其所在位置,单击OK按钮,如图二所示。 图二Visual C++ 6.0的第一个界面 ②在MFC AppWizard的第一步中选择基本对话,如图三所示,其余的都采用默认选项。

图三MFC AppWizard的第一步界面 这样就建立了一个基于对话框的程序,如图四所示。 图四基于对话框的界面 (2)利用资源编辑器建立对话框 在图四的Resource View选项卡中打开Dialog资源组,本程序的工程文件名为计数器,因此,系统自动产生一个名为IDD_MY_DIALOG的资源文件,双击IDD_ MY_DIALOG,在右边的窗口中显示出待编辑的对话框。根据如图一所示的样式,利用Visual C++ 6.0的控键(Controls)建立对话框。 下面以“数据1”编辑框和“+”按钮为例介绍控件的创建过程,其他编辑框和按钮的创建可参照此操作: ①在图四中Controls的“编辑框”按钮上单击鼠标左键、在如图一所示的对话框编辑窗口上的“数据1”编辑框的位置上,按下鼠标左键,并拖动鼠标画出一个大小合适的编辑框。在编辑框上单击鼠标右键,在弹出的快捷莱单中选择Properties选项,此时弹出Edit Properties 属性设置对话框,如图五所示,在该对话框中输入ID属性。

2018-修改游戏窗口化大小-精选word文档 (11页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == 修改游戏窗口化大小 篇一:常用电脑快捷键大全及游戏全屏问题 常用电脑快捷键大全 按”shift”+”6” 是省略号??, 方法:shift+6(主键盘上的6,就是Y键对上去的那个6),前提是在你有五笔输入法的状态栏上,必须是中文标点,就是有个软件盘的旁边那个标点符号必须是空心的.) 另一个方法是:按Ctrft不放,按主键盘区“。”切换中英文标点输入法。 、、、退格键的左边是顿号键。点符号必须是空心的.) 快捷键列表 单独按Windows:显示或隐藏“开始”功能表 Windows+BREAK:显示“系统属性” 对话框 Windows+D:显示桌面 Windows+M:最小化所有窗口 Windows+Shift+M:还原最小化的窗口 Windows+E:开启“资源管理器” Windows+F:查找文件或文件夹 Windows+CTRL+ F:查找电脑 Windows+F1:显示Windows “帮助” Windows+R:开启“运行” 对话框

Windows+U:开启“公用程序管理器” Windows+L:锁定计算机(Windows XP新功能) Windows按住不动+Tab:打开的应用程序切换,立体效果(win7系统支持)★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ Ctrl快捷键 Ctrl+S 保存 Ctrl+W 关闭程序 Ctrl+N 新建 Ctrl+O 打开 Ctrl+Z 撤销 Ctrl+F 查找 Ctrl+X 剪切 Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+A全选 Ctrl+[ 缩小文字 Ctrl+] 放大文字 Ctrl+B 粗体 Ctrl+I 斜体 Ctrl+U 下划线 Ctrl+Shift输入法切换 Ctrl+空格中英文切换 Ctrl+回车 QQ号中发送信息 Ctrl+Home 光标快速移到文件头

vc之控件篇

VC之控件篇 1 使用Windows标准控件 1.1 常见控件列表 Windows标准控件即普通控件,撰写此文时,笔者每天面对的Word就带了一脸的控件,当然你肯定也熟悉:字体选择下拉框、工具栏、滚动条、状态栏,如此等等。 常见的Windows标准控件在VC里就有: 图2 控件集窗口 通常这个控件集窗口在你的对话框设计界面的附近总能找到,如果找不到,在VC工具栏的任何空白处点击右键,在弹出菜单的Controls菜单项前面打上勾即可,如图所示: 图3 显示控件集窗口

你也许已经看到了,我们图1所示的FlashPlayer中有3个控件是Windows标准控件,好,我们先系统地学习一下怎么使用这3个控件。 1.2 引入控件 1. 准备对话框 对话框相当于控件的容器,我们当然要先准备一个对话框。好办,直接创建一个基于对话框的工程就是了: 图4 准备对话框Step 1 注意,在Step 2中要确认“3D Controls”和“ActiveX Controls”前面打上勾,如图所示:

图5 准备对话框Step 2 这样你的程序就支持三维控件和我们后面即将使用到的ActiveX控件了。如果去掉了勾,或者你面对的正是你师兄当年准备论文的旧的project,它好像并不支持ActiveX控件,那该怎么办呢(好多VC网友总是带着那张哭丧脸的表情问我这种问题)?没事,在主程序文件的Ini tInstance()函数头部加上以下语句即可: 查看源代码拷贝至剪贴板打印代码 1.BOOL CFlashPlayerApp::InitInstance() 2.{ 3. AfxEnableControlContainer(); 4. 5.#ifdef _AFXDLL 6. Enable3dControls(); // Call this when using MFC in a shared DLL 7.#else 8. Enable3dControlsStatic(); // Call this when linking to MFC statically 9.#endif 10. 11.//… 12.}

MFC控件使用详细教程

使用Windows标准控件 我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。在Visual C++中,可以使用的控件分成三类: (1) Windows标准控件 Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。 表6.1 Windows标准控件

续表6.1 前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。Windows标准控件在以下环境下提供: ?Windows 95 ?Windows NT 3.51及以后版本 ?Win32s 1.3 ?注意: ?Visual C++ 4.2及以后版本不再支持Win32s。 (2) ActiveX控件

ActiveX控件可用于对话框中,也可用于HTML文档中。这种控件过去被称为OLE 控件。本书将在专门的章节中来讲述关于ActiveX控件的知识。这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。 (3) 其它MFC控件类 除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装: ?类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。 ?类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。 ?类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。 在本章我们仅讲述第一类控件,即Windows标准控件。所涉及的内容包括各个控件的使用及相应的技巧。 第一节使用对话框编辑器和ClassWizard 对于大多数Windows标准控件,我们一般都使用对话框编辑器来将它们添加到对话框中。 图6. 1 在ResourceView中选择对话框 IDD_DIALOGDEMO_DIALOG

调整 Windows 窗体的大小和比例

调整 Windows 窗体的大小和比例 .NET Framework 4.5 其他版本 此主题尚未评级 - 评价此主题 本主题提供一些链接,这些链接指向有关调整 Windows 窗体大小的信息。 本节内容 如何:调整 Windows 窗体的大小 提供有关指定 Windows 窗体大小的说明。 Windows 窗体中的自动缩放 讨论自动缩放功能如何使窗体及其控件在计算机之间正确地显示。 参考 Size 描述此类并提供指向其所有成员的链接。 TableLayoutPanel 描述此类并提供指向其所有成员的链接。 FlowLayoutPanel 描述此类并提供指向其所有成员的链接。 相关章节 更改 Windows 窗体外观 提供指向一些主题的链接,这些主题描述更改 Windows 窗体外观的其他方法。如何:使用设计器调整Windows 窗体的大小 .NET Framework 4.5 其他版本 此主题尚未评级 - 评价此主题 有多种方式可指定 Windows 窗体的大小。在 Visual Studio 中,可以通过使用“Windows 窗体设计器”或“属性”窗口来更改窗体的大小。有关通过使用代码更改窗体大小的信息,请参见如何:调整 Windows 窗体的大小。

说明 在Windows 窗体设计器中调整窗体的大小 1.在 Windows 窗体设计器中,单击该窗体以选定它。 2.单击并拖动窗体边框上出现的八个尺寸柄中的一个。尺寸柄看起来象小 说明 使用“属性”窗口调整窗体的大小 说明 请参见 任务 演练:创建可根据数据输入需要调整大小的Windows 窗体 演练:创建可根据本地化需要调整比例的布局 如何:使用AutoSize 属性和TableLayoutPanel 控件支持对Windows 窗体的本地化 如何:调整Windows 窗体上控件的大小 参考 Windows 窗体概述 概念 Windows 窗体中的自动缩放 其他资源 调整Windows 窗体的大小和比例 创建新的Windows 窗体

VC++MFC控件知识点

1按钮控件 1.1如何使用按钮控件 方法是双击编辑对话框按钮图标,之后就进入了这个按钮单击的处理函数,在这里,你可以添加按钮单击后要做的事是什么. 1.2如何让按钮显示图标样式 首先进入ResourceView里,然后右击Icon选择插入,之后选择你要的图标,假设这个图标的ID名为IDI_ICON2,那么下一步,就是进入对话类中的OnPaint()函数,并在else里面添加如下语句: m_Quit.SetIcon(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON2))); 注:m_Quit为要显示图标按钮的关联类; 还要说明的是,必须把按钮属性样式里把图标的构给打上才行,要不然是无法显示图标的。 1.3如何让按钮显示文本信息 先要在对话框添加一个CToolTipCtrl类的对象,如:CToolTipCtrl m_ToolTip; 然后在OnInitDialog添加以下语句: m_ToolTip.Create(this); m_ToolTip.AddTool(&m_Confirm,”文本信息”);//m_Confirm为要显示文本按钮关联的类对象然后在类视图窗口中右击对话框类,在弹出的菜单中选择Add Virtual Funtion,然后再双击PreTranslateMessage;添加右边窗口中去,这样便增加了一个方法,在此方法中添加以下语句m_ToolTip.RelayEvent(pMsg);既可;

2.1如何使用复选框控件 复选框控件是有一个X的图标,比如是三个复选框吧,首先各为三个复选框关联一个控件类,比如是m_Vip,m_Manager,m_Commoner;那么调用m_Vip.GetCheck();返回的是一个整数,如果返回值等于BST_CHECKED;那么此类关联的复选框控件就被选中了。如果要获取此类关联控件的文本信息就用m_Vip.GetWindowText(Modal);其中Modal是一个CString类的对象,跟Edit是差不多的,存储有信息。

相关主题