Windows窗口

3 Windows窗口及布局指南 窗口是Windows操作系统中用户界面的基本组成单元,是应用程序与用户交互的主要界面。每个窗口都是一个矩形区域,用于显示应用程序的内容、菜单、工具栏和其他用户界面元素。 计算机中"窗口"这个概念来源于现实生活中的窗户。就像房子的窗户让我们可以透过玻璃看到外面的世界一样,计算机的窗口让我们可以"透过屏幕"看到和操作不同的应用程序。 想象一下,你的桌面就像一张巨大的办公桌,而每个窗口就像放在桌面上的不同文件夹或书本。你可以随时打开、关闭、移动这些"文件夹",也可以让多个"文件夹"同时展开,方便你在不同的工作内 阅读详情

总结几点VC中关于对话框小知识供大家参考。

       一、对话框属性

       1.Styles->Clip siblings:排除子窗口之间的相对区域,也就是说,当一个特定的窗口接收到绘图消息时,将所有重叠窗口排除在外,只重绘指定的子窗口。 

          Styles->Clip children:当在父窗口内绘图时,排除子窗口区域。

      2.More Styles 

         System modal:系统模式对话框 

         Absolute align:坐标相对于屏幕原点 

         Set foreground:设置为前台窗口 

         No fail create:应用于Windows 95 

         No idle message:不发送空闲消息 

         Control:不使用标题栏的对话框 

         Center:在屏幕中心显示对话框 

         Center mouse:以鼠标坐标为对话框中心显示对话框 

         Local edit:指定编辑控件的正文将存储于应用程序的局部数据段中

       3.Extended Styles 

         Tool Window:工具栏窗体 

         Client edge:对话框边框下凹 

         Static edge:对话框边框为实边框 

         Accept files:是否接受文件拖放 

         Control parent:用<Tab>键在窗口的子窗口间搜索 

         Context help:在窗口标题栏添加一个问号按钮 

         No parent notify:以这个风格创建的窗口在创建和销毁时,不向父窗口发送WM_PARENTNOTFY消息


WS_POPUP WS_OVERLAPPED WS_CHILD
  重叠的窗口
  一个重叠窗口是顶层窗口有一个标题栏,边框和客户区,它的目的是作为一个应用程序的主窗口。 它也可以有一个窗口菜单,最小化和最大化按钮和滚动条。 重叠的窗口作为主窗口使用通常包括所有这些组件。
  通过CreateWindowEx函数中指定的WS_OVERLAPPED或WS_OVERLAPPEDWINDOW风格,一种应用程序创建一个重叠的窗口。 如果您使用WS_OVERLAPPED风格,窗口有一个标题栏和边框。 如果您使用WS_OVERLAPPEDWINDOW风格,窗口有一个标题栏,边框大小,窗口菜单,最小化和最大化按钮。
  弹出窗口
  弹出窗口是顶级窗口,并连接到桌面窗口的子窗口的列表。 应用程序通常使用对话框弹出窗口。 主要的区别弹出和重叠的窗口是弹出式窗口不需要有标题和重叠的窗口必须有标题。 当一个弹出窗口没有标题,它可以创建无边框。 弹出式窗口可能拥有其他顶级窗口或由其他顶级窗口或两者拥有。 所有弹出窗口都具有WS_CLIPSIBLINGS风格,即使是没有指定。 弹出窗口不能创建与CW_USEDEFAULT值无论是位置或窗口的大小。 弹出窗口,使用CW_USEDEFAULT会存在,但不会有任何大小或没有能力或两者兼而有之。 重叠的窗口通常是保留给应用程序的主窗口,而事实上,有时也被称为主窗口或框架窗口。 弹出窗口通常用于与用户在对话框的形式和消息框。
  一个弹出窗口是一个特殊类型的重叠窗口的对话框,消息框使用,以及其他外部的应用程序的主窗口中出现的临时窗口。 标题栏的弹出式窗口选择,否则,弹出窗口作为窗口重叠的WS_OVERLAPPED风格相同。
您创建一个通过指定CreateWindowEx WS_POPUP风格的弹出窗口。 要包含一个标题栏,指定WS_CAPTION样式。 使用WS_POPUPWINDOW风格创建一个弹出窗口,具有边框和窗口菜单。 该WS_CAPTION样式必须结合WS_POPUPWINDOW风格使窗口菜单中可见。
  子窗口
  子窗口必须有一个父窗口,并只限于其母公司的客户区。 这是在子窗口和重叠和弹出窗口的主要区别。 子窗口家长可以顶层窗口或其他子窗口。 子窗口的位置,从他们的父窗口的左上角,而不是从上层作为屏幕的左侧是顶层窗口。 子窗口是夹在他们父母的客户区。 在一个对话框中的控件的子窗口,其母公司是对话框。 子窗口创建不能为任何位置或窗口的大小CW_USEDEFAULT值。 子窗口,使用CW_USEDEFAULT会存在,但不会有任何大小或位置或两者兼而有之。
  有一个子窗口WS_CHILD样式,并只限于它的父窗口的客户区。 应用程序通常使用子窗口功能区划分成一个父窗口客户区。 您创建一个通过指定CreateWindowEx函数WS_CHILD样式的子窗口。
  一个子窗口必须有一个父窗口。 父窗口可以是重叠的窗口,弹出一个窗口,甚至是另一个子窗口。 您指定的父窗口时调用CreateWindowEx。 如果您指定在CreateWindowEx WS_CHILD样式,但没有指定一个父窗口,系统不创建窗口。
  一个孩子,但没有一个窗口客户区的其他功能,除非他们明确要求。 应用程序可以请求一个标题栏,窗口菜单,最小化和最大化按钮,边框,滚动窗花一个孩子,但一个子窗口不能有菜单。 如果应用程序指定一个菜单句柄,或者当它注册孩子的窗口类或创建子窗口,菜单句柄将被忽略。 如果没有指定边框样式,系统将创建一个无边框窗口。 应用程序可以使用无国界划分一个子窗口的父窗口的客户区的划分,同时保持对用户不可见。


      二、对话框的创建与显示

       1.模态对话框:

         CDlg dlg; 

         dlg.DoModal();  

         CDialog::OnOK();//或CDialog::OnCancel()关闭模态对话框

      2.非模态对话框 

     创建:

          CDlg *dlg=new CDlg;

         dlg->Create(IDD_DIALOG,this);  

         dlg->ShowWindow(SW_SHOW); 

       

    销毁:

          若在一个非模态对话框中实现OnCancel方法,需在内部调用  DestroyWindow方法,

           //不要调用基类的OnCancel方法,因为它调用EndDialog方法将使对话框不可见,但不销毁对话框。 

         delete this;      //需要在对话框的OnNcDestroy方法中delete释放对象本身, 注意 DestroyWindow只销毁窗口,但不释放对象。。

      三、遍历对话框中的控件 

      控件也是窗口,所有可以用CWnd类的方法操作控件,GetTopWindow方法可以获得第一个属于CWnd的子窗口,GetNextWindow方法返回窗口管理器中的下一个窗口。首先在对话框中添加几个控件,然后在主窗口的OnInitDialog中添加: 

         CWnd* pWnd = GetTopWindow(); 

         while(pWnd != NULL)  

         {  

                  int i = pWnd->GetDlgCtrlID(); 

                  CString str;  

                  str.Format("ID是:%d",i); 

                  pWnd->SetWindowText(str); 

                  pWnd = pWnd->GetNextWindow(); 

          }

      四、消息处理函数共享

      指多个连续ID的控件都发出相同的消息,使用ON_CONTROL_RANGE宏来实现,类向导不支持ON_CONTROL_RANGE宏,需手动添加:

      afx_msg OnButtonClicked();

      ON_CONTROL_RANGE(BN_CLICKED,IDC_BUTTON1,IDC_BUTTON3,OnButtonClicked).

      然后在OnButtonClicked()中添加消息响应

Windows窗口动态创建指南 本文还有配套的精品资源,点击获取 简介:在Windows系统中,窗口是用户界面的核心,动态创建窗口技术是桌面应用开发的关键。本内容将介绍Windows窗口的工作原理、API函数以及如何通过编程实现窗口的动态创建。重点将放在窗口类的定义、窗口类的动态注册、使用 CreateWindowEx 创建窗口、窗口显示、更新以及消息循环处理等关键步骤。学习这些技术可以帮助... 阅读详情

相关推荐

窗口标题栏都是乱码

窗口标题栏都是乱码 我的计算机不知怎么回事,在打开的所有窗口标题栏显示的全是乱码.本来显示像"我的电脑",显示的是一串乱码,现在解决了.把方法写出来,希望有和我一样的朋友能有所帮助. 一,重启后,用F8激活系统菜单,进入安全模式,等系统检查完毕,硬盘没有响应后.再重新正常启动,正常进入windows,字体一般恢复. 这是比较简单的,我用得是第二种. 二,开始----运行"regedit",启动注册表编辑器,在"HKEY_LOCAL_MACHIN/SYSTEM CURRENTCONTROLSET CONTROL FONTASSOC"键下有"ASSOCIATED CHARSET"和"ASSOCIATED DEFAULTFONTS"两个键.当出现汉字乱码时,正确内容应该是"ASSOCIATED CHARSET"内有"(默认),ANSI(00),GB2312(86),OEM(FF),SYMBOL(02)"几项串值.键值分别为"(未设置键值),yes,yes,yes,no" 而"ASSOCIATED DEFAULTFONTS"内有"(默认),ASSOCSYSTEMFONT,FONTPACKAGE ,FONTPACKAGEDECORATIVE,FONTPACKEGEDONTCARE,FONTPACKEGEMODERN,FONTPACKAGEROMAN,FONTPACKAGESCRIPT,FONTPACKAGESWISS"几项串值,键值分别为"(未设置键值),SIMSUN.ttc,新宋体,新宋体,新宋体,新宋体,新宋体,新宋体.",如果其中对下来有一个数值错误或者没有在右边空边处右键单击,新建选择字符串值.输入所需的名称和键值就行.重启系统后正常. 三、桌面属性里的外观,字休大小(正常、特大、大),互相切换下,就可以了,或在“窗口和按钮”里换个样式就OK了。

VC++学习笔记(一)

一、对话框属性: 1.Styles->Clip siblings:排除子窗口之间的相对区域,也就是,当一个特定的窗口接收到绘图消息时,将所有重叠窗口排除在外,只重绘指定的子窗口。 Styles->Clip children:当在父窗口内绘图时,排除子窗口区域。 2.More Styles System modal:系统模式对话框 Absolute align:坐标相对于屏幕原点 Set

mhmwadm的专栏 353

单端反激电源的RCD钳位电路吸收设计

反激电源尖峰电压和特点: 反激开关电源主要适用于中小功率<100W的电源设计中,特点是电路简单、成本低、可靠性高、宽稳压范围、转换效率PF高。但是由于本身变压器的漏感和其他参数的影响,变压器在高速开关关断瞬间会产生很大的尖峰电压,截止时产生的尖峰电压是由电路中的储能元件释放的电流引起的突变,过高的尖峰电压会影响开关管的正常工作,需要对尖峰电压采取措施抑制尖峰电压。 如上图所示,尖峰电压的钳位抑制方式有很多种。 TVS成本偏高,属于硬件导通,元件的可靠性较差,在低电压工作效果不理想。 RCD回路吸收

qq_31687191的博客 8488

关于WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解(转)

<br />我是个喜欢瞎琢磨的人。尤其是这几天心情非常郁闷。于是开始琢磨了…….琢磨的问题就是WS_CLIPCHILDREN和WS_CLIPSIBLINGS两种窗口样式的理解。 <br />  1.求助MSDN<br />  我的第一步当然是求助MSDN。在MSDN里面有详细的解释。<br />  1.1 WS_CLIPCHILDREN<br />  WS_CLIPCHILDREN样式从字面上可以理解成ClipChildren,裁减子窗口。<br />  MSDN里的E文解释:Excludes the ar

SmartWan的专栏 960

主流双目相机技术参数横向评测:从ZED到INDEMIND的深度解析

本文对主流双目相机进行了深度横向评测,涵盖ZED、Bumblebee、Leap Motion、DUO 3D及INDEMIND等国内外产品。文章详细解析了分辨率、帧率、视场角、基线等核心参数,并结合科研、机器人导航、无人机、工业检测等典型应用场景,提供了实战选型指南,帮助读者根据具体需求挑选最合适的双目视觉解决方案。

weixin_29212867的博客 640

DeepSeek+知网研学:三步搞定文献矩阵与对比分析(实战指南)

本文提供了一套高效实用的文献管理分析实战指南,详细介绍了如何结合DeepSeek大模型与知网研学平台,通过三个核心步骤快速完成文献梳理。该方法能自动提炼文献核心要素、生成结构化对比矩阵,并辅助发现研究空白,显著提升学术研究者的文献分析效率与深度。

weixin_29061509的博客 491

如何区分WS_CLIPCHILDREN和WS_CLIPSIBLINGS

英文单词解释 clip:夹子、子弹夹、回形针;夹住,修剪 sibling:同胞兄弟或姐妹 overlapped:重叠 这两个Window Stype的特性与异同素来不太清楚,今日作一笔记: MSDN的解释为: WS_CLIPCHILDREN   Excludes the area occupied by child windows when you draw within th

物知馆 1255

西电计组实验二 运算器实验

算术逻辑运算实验 一.实验目的   1.了解简单运算器的数据传输通路。   2.验证运算功能发生器的组合功能。   3.掌握算术逻辑运算加、减、与的工作原理。   4.验证实验台运算的8位加、减、与、直通功能。   5.按给定数据,完成几种指定的算术和逻辑运算。 二.实验原理   算术逻辑单元ALU的数据通路如图2-1所示。其中运算器ALU181根据74LS181的功能用VHDL硬件描述语言编辑而成,构成8位字长的ALU。参加运算的两个8位数据分别为A[7…0]和B[7…0],运算模式由S[3…0]的16种

Polaris的博客 1万+

基础篇:VC对话框小知识

 总结几点VC中关于对话框小知识供大家参考。       一、对话框属性       1.Styles->Clip siblings:排除子窗口之间的相对区域,也就是说,当一个特定的窗口接收到绘图消息时,将所有重叠窗口排除在外,只重绘指定的子窗口。           Styles->Clip children:当在父窗口内绘图时,排除子窗口区域。      2.More Styl

yyyzlf的专栏 2413

Android功耗系列专题理论之十三:MTK平台待机功耗问题分析方法

摘要:本文详细分析了MTK平台待机功耗问题的调试方法,重点介绍了SPM电源管理机制、26M时钟控制逻辑以及系统深睡眠状态的判断标准。文章提供了完整的Debug流程,包括日志抓取、唤醒源分析、SCP睡眠状态检查以及时钟/LDO状态排查等实用技巧,并给出硬件漏电点和软件配置异常的排查方案。针对不同模块(Modem/Conn/SSPM等)提供了具体的电源管理绕过命令,适用于功耗问题调试和低功耗模式验证场景。

559

云效 CI/CD + 阿里云 OSS 自动部署前端项目实战指南(2026)

前端项目部署到 OSS + CDN 是阿里云生态中最常见的静态站点托管方案。手动上传 OSS,容易遗漏文件或部署错版本权限配置不当,要么过宽(全桶读写)要么报 403CDN 缓存没刷新,用户看到的还是旧版本多环境(dev/test/pro)流水线重复配置本文基于实际生产环境经验,完整覆盖从 RAM 权限 → OSS 配置 → CDN 加速 → 云效流水线的全链路,含两种授权方案对比和踩坑记录。一套可直接复用的 RAM 最小权限策略两种云效授权方案的完整配置步骤。

探索云原生与智能化驱动下的安全运维新范式。关注DevSecOps、可观测性、AIOps等前沿领域,与您共赴技术前沿。 428

WS_CLIPCHILDREN和WS_CLIPSIBLINGS易理解的解说

相信,人多人都对WS_CLIPCHILDREN和WS_CLIPSIBLINGS具体的属性不是很理解

lixiang987654321的专栏 3万+

复现《水化硅铝酸钙微结构和性能的分子动力学模拟研究》的分子动力学模拟

本文详细复现了杨军博士论文中关于水化硅铝酸钙(C-A-S-H)凝胶的分子动力学模拟方法。研究内容包括:1)基于11Å Tobermorite构建C-A-S-H分子模型,通过缺陷引入和Al掺杂调节Ca/Si比;2)使用ReaxFF力场模拟交联C-A-S-H的结构与力学性能;3)采用ClayFF力场研究纳米孔道中水和离子传输行为。研究提供了完整的LAMMPS输入脚本、Python分析代码和力场参数设置,为水泥基材料纳米尺度模拟提供可复现的技术方案。

huanghm88的专栏 105

Windows窗口分析,父窗口,子窗口,所有者窗口

Windows窗口分析,父窗口,子窗口,所有者窗口

ttod的博客 1216

YOLOv8改进-bifpn

跨尺度连接通过添加一个跳跃连接和双向路径来实现,自此实现了加权融合和双向跨尺度连接。该结构是加权且双向连接的,即自顶向下和自底向上结构,通过构造双向通道实现跨尺度连接,将特征提取网络中的特征直接与自下而上路径中的相对大小特征融合,保留了更浅的语义信息,而不会丢失太多的深层语义信息。传统的特征融合时将尺度不同的特征图以相同权重进行加权,但是当输入的特征图分辨率不同时,以相同的权重进行加权对输出的特征图不平等。所以BiFPN根据不同输入特征的重要性设置不同的权重,同时反复采用这种结构来加强特征融合。

weixin_45303602的博客 8139

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

windows系统的窗口及操作

为了使计算机更加符合个人习惯,用户可以根据喜好调整一些关于窗口显示的设置。

2401_88951047的博客 3204

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

关于windows窗口的学习

简单认识windows窗口

qq_43386521的博客 511

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

windows切换窗口到不同屏幕的快捷键

偶然按错键了,发现当前窗口漂移到另外一个屏幕上了~~~ 由此引发按键探索~ shift+windows+左/右键:将当前活动窗口漂移(闪现)到左/右边屏幕; 场景: 想快速的移动屏幕; 远程连接电脑时快速的将另外一个屏幕上的窗口移动到当前看到的屏幕; shift+windows+上/下键:自己探索试试吧~;可以最小化当前窗口 场景: 最小化当前窗口; windows+左/右键:将当前窗口满布到左/右半屏; 场景: 需要左右对比效果时候; 需要左右平铺窗口,方便对对比效.

哈市雪花的博客 5万+

windows窗口类型

windows建立的是怎样的一套窗口理论体系, window窗口有下面的几个基本的分类 Overlapped Windows 重叠窗口 Pop-up Windows 弹出窗口 Child Windows 子窗口 Layered Windows 分层窗口 Message-Only Windows 什么是层叠窗口 层叠窗口最典型的就是我们的一个应用窗口的主窗口,如果用WS_OVERLAP

dingyuduan的专栏 6931

C++ WINDOWS 创建WINDOWS窗口模型

C++ WINDOWS 创建WINDOWS窗口模型 #include <windows.h> //定义消息回调函数 HWND UINT WPARAM LPARAM 返回参数 LRESULT LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam); /*定义WIndows主程序...

MUTONG的博客 2387

Windows【游戏】编程关于窗口

前言 这个是会把人逼疯的东西。我常常避免更改这些关于窗口类的代码,但为了显示我牛逼。我还是把这部分内容弄明白个大概然后精炼后记下来好了。 参考:《Windows游戏编程》《Windows游戏编程大师》 ...

痛苦的时候装出幸福相,这不是那么难做到的事 811

Windows窗口机制

本文是在学习Windows Feature时的笔记:

BraveJohn的专栏 4302

Windows窗口程序之新建窗口(C++)

Windows窗口程序之新建窗口 创建Windows的流程

Rohly的博客 6392

Windows下获取窗口列表,会过滤一些无效窗口

#include <Windows.h> #include <iostream> #include <vector> #include <string> #include <dwmapi.h> #include <olectl.h> #include <psapi.h> #include <wingdi.h> #include <chrono> #include <thread> co.

yp18792574062的博客 1907

【Windows编程】windows窗口创建过程详解

搞windows开发,必须熟悉vs自己的开发工具,这会提高你的开发效率;我用的是vs2013;感觉不错;

呋喃吖的博客 6484

Windows窗口设计

这里写自定义目录标题Windows API程序设计入门 Windows窗口写作目的操作步骤源代码 Windows API程序设计入门 Windows窗口 写作目的 了解 windows操作系统应用程序开发的基本概念,win32 API函数、消息与事件驱动; 掌握WinMain函数的基本框架,窗口定义、窗口创建、消息循环及窗口过程函数; 操作步骤 1.创建一个Win32应用程序的步骤: 2.定义 WinMain 函数; 3.设计窗口类 WNDCLASS; 4.注册窗口类; 5.创建窗口; 6.显示并更新窗

qq_45931327的博客 1637
上一篇: 打印机编程
下一篇: CPaneDialog的使用方法
htt9931
博客等级 码龄24年 43粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值