首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

设置基于MFC对话框的应用程序窗口的位置

基于MFC对话框的应用程序窗口的位置可以通过以下步骤进行设置:

  1. 首先,在MFC对话框应用程序的代码中找到OnInitDialog()函数。该函数在对话框创建时被调用。
  2. 在OnInitDialog()函数中,可以使用CWnd类的MoveWindow()函数来设置窗口的位置。MoveWindow()函数的参数包括窗口的左上角坐标和窗口的宽度和高度。
  3. 例如,要将窗口位置设置为屏幕中央,可以使用以下代码:
代码语言:txt
复制
CRect rect;
GetWindowRect(&rect);

int screenWidth = GetSystemMetrics(SM_CXSCREEN);
int screenHeight = GetSystemMetrics(SM_CYSCREEN);

int windowWidth = rect.Width();
int windowHeight = rect.Height();

int xPos = (screenWidth - windowWidth) / 2;
int yPos = (screenHeight - windowHeight) / 2;

MoveWindow(xPos, yPos, windowWidth, windowHeight);

上述代码中,首先使用GetWindowRect()函数获取当前窗口的位置和大小信息。然后,使用GetSystemMetrics()函数获取屏幕的宽度和高度。接下来,计算窗口的左上角坐标,使其位于屏幕中央。最后,使用MoveWindow()函数将窗口移动到计算得到的位置。

这样,基于MFC对话框的应用程序窗口的位置就被设置为屏幕中央了。

对于MFC开发,腾讯云并没有直接相关的产品或服务。但是,腾讯云提供了云计算基础设施、人工智能、大数据等方面的服务,可以帮助开发者构建和部署各种应用。具体的产品和服务可以参考腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MFC对话框模式下,控件数据交互

UpdateData(FALSE); //向控件传递文本,即控件显示"the code is 20" UpdateData(TRUE); //从控件读取文本,即showtext获取到控件文本...IDC_EDIT))->GetWindowText(text); //获取控件文本 ((CEdit*)GetDlgItem(IDC_EDIT))->SetWindowText(text); //给控件设置文本显示...IDC_EDIT2); num3=num1*num2; SetDlgItemInt(IDC_EDIT3,num3); 方法六:利用win32API函数sendmessage(),注意此函数参数格式...;第一个参数是该控件句柄,根据其获得方式,又可以更详细划分 int num1, num2, num3; char ch1[10], ch2[10], ch3[10]; ::SendMessage...(GetDlgItem(IDC_EDIT1)->m_hWnd, WM_GETTEXT, 10, (LPARAM)ch1); //此处加上::表示调用是win32API函数,而不是类成员函数, //第一个参数是控件句柄

1.4K10
  • MFC中属性表单和向导对话框使用

    每次在使用MFC创建一个框架时,需要一步步选择自己程序外观,基本功能等选项,最后MFC会生成一个基本程序框架,这个就是向导对话框;而属性表单则是另外一种对话框,表单上有多个属性页,每点击某一页,会显示该页内容...,最好例子是Visual C++6.0中Option对话框; 属性表单创建: 属性表单上由许多属性页组成,每个属性页都可以在可视化编辑环境中编辑,需要添加资源名称是对话框下面的IDD_PROPPAGE_LARGE...选项; 创建了资源,下面就是关联MFC类,属性页类是CPropertyPage,该类是继承于CDialog类,在使用时需要从CPropertyPage中派生。...; //在构造函数中添加属性页 AddPage(&m_Prop1); AddPage(&m_Prop2); AddPage(&m_Prop3); 至于它使用则是于普通对话框类似...中一个或者几个,分别用来设置该页上一个“上一步”按钮、“下一步”按钮、“完成”按钮、和一个禁用“完成”按钮,一般来说在属性页中OnSetActive函数中调用,当属性页被选中,从而被激活时程序会响应

    1.6K10

    初识mfc

    今天主要了解了Visual C++开发环境Visual Studio(话说以前都是用来调试控制台程序)和用mfc写了一个最简单程序。   ...目前微软大力推广开发环境就是vs,它集成度相当高,方便程序员进行开发工作。vs就不说了。来说说如何建立一个最简单mfc程序。...首先新建项目->输入项目名Hello,然后对程序进行一些属性设置.   ...第一步应用程序类型类型选择为:基于对话框,然后项目类型选择为MFC然后点完成,一个简单对话框程序框架就完成了.现在已经有了一个可运行应用程序框架,接下来要做就是设计程序窗口.为什么说是用mfc程序呢...直接在资源视图中打开IDD_HELLO_DIALOG对界面进行修改.鼠标点击每个按钮右下角属性窗口对该按钮进行修改,比如更改大小,位置,增加点击事件等.在左边工具箱中可直接拖拽各种控件到窗口中,非常方便

    1.7K30

    【Visual Studio 2019】创建 MFC 桌面程序 ( 安装 MFC 开发组件 | 创建 MFC 应用 | MFC 应用窗口编辑 | 为按钮添加点击事件 | 修改按钮文字 | 打开应用 )

    文章目录 一、安装 MFC 开发组件 二、创建 MFC 应用 三、MFC 应用窗口编辑 四、为按钮添加点击事件 五、修改按钮文字 六、打开系统其它应用 七、博客源码 一、安装 MFC 开发组件 ----...环境界面中 , 选择 " 创建新项目(N) " , 选择 " Windows 桌面应用程序 " 下 " MFC 应用 " , 输入相关配置 , 项目名称 , 存储路径 , 点击 " 创建 " 按钮...; 应用程序类型选择 " 基于对话框 " , 基于对话框选项设置为 无 ; 其它配置选择默认即可 , 也可以选择其它配置 , 这里直接点击 " 完成 " 按钮 ; 系统自动生成 MFC 程序如下...: 点击 " 本地 Windows 调试器 " 按钮 , 运行该程序 : 三、MFC 应用窗口编辑 ---- 双击 " 资源文件 " 中 " MFCHelloWorld.rc " 文件 , 进入..." 外观 " 下 " Caption " 选项就是按钮文本设置 ; 六、打开系统其它应用 ---- 再向窗口拖入两个按钮 , 点击后分别打开记事本和计算器 , UI 设置如下 : 点击事件代码如下

    5.6K40

    Python Tkinter 窗口管理与设置(二):窗口基本设置

    添加标题 # 设置窗口标题 root.title("title") 添加图标 # 设置图标,以OneDrive图标为例,必须是以 .ico 为后缀图标文件,放于同目录下。...root.iconbitmap("OneDrive.ico") 设置背景 # 设置背景色,可以用英文名,也可以用十六进制表示颜色。...root["background"] = "#00ffff" 完整代码 # 导入模块,取别名 import tkinter as tk # 实例化一个窗体对象 root = tk.Tk() # 设置窗口大小长宽为...300x300出现位置距离窗口左上角+150+150 root.geometry("300x300+150+150") # 进入消息循环,显示窗口 root.mainloop() # 设置窗口标题...root.iconbitmap("OneDrive.ico") # 设置背景色,可以用英文名,也可以用十六进制表示颜色。

    1.4K20

    MFC学习——如何在MFC对话框中添加一个显示网页窗口(用vs2017以下版本,vs2017不支持)

    大家好,又见面了,我是你们朋友全栈君。...(用vs2017以下版本,vs2017不支持) 标题这个要用到 ActiveX 控件了,向对话框里面插入一个 WebBrowser控件,之后使用就可以了!...============================= 利用Web Browser控件创建自己浏览器 ①新建一个基于对话框工程,命名为test,然后在对话框上单击右键,选择 Insert...ActiveX Control…在弹出对话框中选择MicroSoft Web浏览器,点击OK。...此时对话框上已经出现了WebBrowser控件,调整它大小以适合对话框大小。 ②选择Web Browser控件,点击类向导,选择成员函数,单击 添加按钮,此时会弹出两个对话框,均点击确定即可。

    1.2K10

    Python Tkinter 窗口管理与设置(三):窗口外形设置

    3.设置全屏 # True 全屏;False 正常显示 root.attributes("-fullscreen", True) 4.窗口置顶 # True 所有窗口中处于最顶层;False 正常显示两个同时被置顶窗口为同级...(能互相遮盖),但他们都能同时遮盖住没有被设置为置顶窗口。...完整代码 # 导入模块,取别名 import tkinter as tk # 实例化一个窗体对象 root = tk.Tk() # 设置窗口大小长宽为300x300出现位置距离窗口左上角+150...root.iconbitmap("OneDrive.ico") # 设置背景色,可以用英文名,也可以用十六进制表示颜色。...;False 正常显示 两个同时被置顶窗口为同级(能互相遮盖),但他们都 能同时遮盖住没有被设置为置顶窗口

    1.7K30

    visual C++ 项目和解决方案区别

    大家好,又见面了,我是全栈君 项目: 项目是构成某个程序全部组件容器,该程序可能是控制台程序、基于窗口程序或某种别的程序。...工具->选项->文本编辑器->C/C++ ->高级->回退位置 那里,两个都设成true 如果你设置了回退位置,那么IPCH等就会到那里去,否则会在系统TEMP里,有个VC++文件夹下。...但关闭此选项以后也会有很多不便,例如写程序时智能提示没有了。 .sln文件和.suo文件为MFC自动生成解决方案文件,它包含当前解决方案中工程信息,存储解决方案设置。...3.应用程序头文件和源文件 应用程序向导会根据应用程序类型(单文档、多文档或基于对话框程序)自动生成一些头文件和源文件,这些文件是工程主体部分,用于实现主框架、文档、视图等。...4.资源文件 一般我们使用MFC生成窗口程序都会有对话框、图标、菜单等资源,应用程序向导会生成资源相关文件:res目录、HelloWorld.rc文件和Resource.h文件。

    1.3K30

    锁定屏幕相关知识「建议收藏」

    WH_MSGFILTER Hook 只能监视传递到菜单,滚动条,消息框消息,以及传递到通过安装了 Hook 子程应用程序建立对话框消息。...线程钩子编程实例:   按照上面介绍方法实现一个线程级鼠标钩子。钩子跟踪当前窗口鼠标移动位置变化信息。并输出到窗口。...2 .创建钩子可执行程序 (1) 用 MFC AppWizard(EXE) 创建项目 Mouse ; (2) 选择“基于对话应用”并按下“完成”键;...(3) 编辑对话框,删除其中原有的两个按钮,加入静态文本框和编辑框,用鼠标右键点击静态文本框,在弹出菜单中选择“属性”,设置其标题为“鼠标所在窗口标题”; (4) 在 Mouse.h.../mouse/debug 目录中; (10) 先运行几个可执行程序,然后运行 Mouse.exe 程序,把鼠标在不同窗口中移动,在 Mouse.exe 程序窗口编辑框内将显示出鼠标所在应用程序窗口标题

    1.2K11

    基于SwingFontChooser对话框

    虽然网上有很多类似的实现,但是鉴于是作业,我还是自己写了一个简单FontChooser来练练手。而且真正写起来也不是那么顺畅,果然还是发现了很多坑。。。...这类对话框一般得是“阻塞“,即弹出该对话框后,本来对话框应该是点不动直到弹出对话框结束。...仿照JFileChooser和JColorChooser,这类选择工具类对话框设计为静态比较好。 对话框默认字体一般是待修改字体。 选择成功得返回选择后结果,选择退出得返回原先结果。...JComboBox(); panel = new JPanel(); dlg.setContentPane(panel); panel.setLayout(null); // 关闭窗口...button = new JButton("确定"); panel.add(button); button.setBounds(20, 190, 140, 30); // 点确定,则关闭窗口

    53520

    MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)

    创建对话框主要分为两大步:    第一,创建对话框资源,主要包括创建新对话框模板、设置对话框属性和为对话框添加各种控件;    第二,生成对话框类,主要包括新建对话框类、添加控件变量和控件消息处理函数等...一、创建对话框应用程序框架    之前创建HelloWorld程序是单文档应用程序,生成了多种窗口,如果用它来讲创建对话框的话可能有些复杂,对大家单纯理解对话框有点 影响,所以这里就再创建一个基于对话框应用程序...Visual C++下选择MFC,中间窗口中选择MFC Application,然后在下面的Name编辑框中键入工程名称, 本例取名“Addition”,在Location编辑框中设置工程保存路径...CAboutDlg是应用程序“关于”对话框类,CAdditionApp是由CWinApp派生类,CAdditionDlg是主对话框类,主对话框也就是应用 程序运行后显示主要界面。    ...同样我们使用默认False。    6、Style:对话框类型。有三种类型:Overlapped(重叠窗口)、Popup(弹出式窗口)和Child(子窗口)。弹出式窗口比较常见。

    3.6K10

    MFC拓展库】上海道宁与BCGSOFT合作为您带来专业Micrisoft Windows开发业务组件

    02、Docking & MDI for UWP一个完整对接工具窗口和多文档界面解决方案用户可以随意拖动和停靠窗口,并保留他们布局自定义包含流行IDE中停靠窗口和MDI功能,以及您在其他任何地方都找不到扩展功能旨在完全支持数据绑定和在...此外,开发人员可以设置主题强调色。默认情况下,状态栏和所有突出显示/聚焦元素都是蓝色,但您可以根据自己喜好进行更改(仅限浅色和深色样式)。...仪表板准备就绪后,将其保存为 XML 并将其加载到 C++ 应用程序中。14、Visual Studio 集成集成向导设置应用程序向导并更新路径设置。...三、关于BCGPEdit(MFC)BCGPEdit(BCGSoft专业编辑器)是一个MFC扩展库,允许您将高级编辑控件合并到任何基于MFC应用程序中。...Visual Studio 2008中包含MFC版本基于 BCGControlBar Pro技术,但MFC版本中不包含一些重要库组件,例如图表、网格、日历、编辑器等。

    5.6K20

    基于位置点击模型

    主流点击模型大都基于点击模型方面最基础研究,认为用户在浏览搜索引擎时采用是沿着搜索结果列表从上到下依次浏览方式,根据这个假设,用户浏览顺序与搜索结果位置顺序是一致。...因此大多数点击模型都是基于位置构建方式(我们称作基于位置点击模型)。...PBM(Position-based Model )基于位置模型 Position-based Model 假设:各搜索 Session 可产生多次点击行为,而文档是否被点击,由两个因素决定: 文档是否被检验...但与 PBM 不同点在于,是否被检验由排序在此文档前所有文档是否被点击共同决定,我们假设检验概率不仅依赖于文档位置 r也依赖于上一个点击文档位置 r′。...可以看到,以上一系列点击模型都是基于用户检验顺序严格从上到下进行一遍以及所有结果具有同质属性这两个基本假设进行研究

    1.1K20

    基于消息事件驱动机制(Message Based, Event Driven)

    基本模型概述 基于消息事件驱动机制是一个通用模型,广泛应用于桌面软件开发、网络应用程序开发、前端开发等技术方向中。本文主要描述基本模型、基本框架,用于说明不同技术共性知识。...下文会基于鼠标点击后完整系统响应过程,说明该模型在MFC体现。 ?...2.8 模态对话框和非模态对话框区别 模态对话框:在子界面活动期间,父窗口是无法进行消息响应。独占用户输入 非模态对话框:各窗口之间不影响。 模态对话框通过在消息循环内再造消息循环。...如果当前窗口消息循环不退出,父窗口消息循环将无法运转,也即无法响应。从而产生模态对话框独占响应效果。 3....4.3.5 基于Muduo网络应用程序开发模式 1)建立一个事件循环器EventLoop(也可以理解为消息泵) 2)建立对应服务器TcpServer 3)设置TcpServerCallback(可以理解为建立事件处理映射表

    2.5K20

    任务管理器编码详解

    4.2实现思路    4.2.1界面设计 所设计程序是基于对话框程序。...首先创建一个MFC应用程序, 在主对话框类中添加一个TabContrl标签控件用于放置应用程序、进程和CPU信息三个页面, 子对话框显示与切换,是通过标签控件完成。...EnumWindows函数 函数功能 该函数枚举所有屏幕上顶层窗口,并将窗口句柄传送给应用程序定义回调函数。...   根据应用程序生命周期,以及窗口消息循环,当关闭窗口或者应用程序(就是点上面的叉号),发出WM_CLOSE消息,但是translatemessage函数,进入while消息循环,被默认情况进行处理...首先,没有学过MFC,无从下手,就从图书馆里借了本书《深入简出MFC》这本书说实话真不错,它从整体上讲解了MFC,讲解了Windows编程,它们之间联系,区别。

    2K110
    领券