VC++MFC 窗口最大化、最小化的实现!

VC++ 窗体开发必须掌握的技巧 文章介绍VC++开发Win32窗体一些必须掌握的技巧,比如判断窗体是否存在,判断窗体是否最大化、最小化,禁止窗体最大化以及屏蔽win7拖拽放大效果,将窗体移到最前面,并激活窗体,获取键盘操作,将窗体置顶和取消置顶,如何发送窗体消息,窗体如何居中等等 阅读详情

VC++MFC 窗口最大化、最小化的实现!
    当利用AppWizard生成运用程序框架时,VC++已经为我们在标题条上做好了最大化,最小化及恢复按钮。
    但有时我们也想在其它地方使用这些功能。这就可采用下面的办法。
    在指定的消息处理函效中加入下列语句,则程序在收到该条消息后即执行窗口最小化。


WINDOWPLACEMENT lwndpl;
WINDOWPLACEMENT * lpwndpl;

lpwndpl = &lwndpl;
GetWindowPlacement(lpwndpl);
lpwndpl->showCmd = SW_SHOWMINIMIZED;
SetWindowPlacement(lpwndpl);

BOOL GetWindowPlacement(WINDOWPLACEMENT * lpwndpl) const
函数的作用为获取表示当前窗口的布局的结构WINDOWPLACEMENT的结构变量指针。


结构WINDOWPLACEMENT定义为:
typedef struct tagWINDOWPLACEMENT { /* wndpl * / UINT length;
 UINT flags;
 UINT showCmd;
 POINT ptMinPosition;
 POINT ptMaxPosition;
 RECT rcNormalPosition;
} WINDOWPLACEMENT;

 
其中的成员变量showCmd确定当前窗口的状态。其取值一般为:
SW_HIDE      隐藏窗口。
SW_MINIMIZE     最小化指定的窗口。
SW_RESTORE     将最大化或最小化的窗口恢复原来大小。
SW_SHOW      以原来的大小激话并显示窗口。
SW_SHOWMAXIMIZED    激活并最大化窗口。

函数BOOL SetWindowPlacement(const WINDOWPLACEMENT * lpwndpl)作用为按结构MENT的设置显示窗口。
 

MFC中的CWnd类提供了下面两个函数用于判断窗口的最大化、最小化状态,其子类继承了这些函数:
IsZoomed:判断窗口是否处于最大化状态。
IsIconic:判断窗口是否处于最小化状态。

可以使用CWnd::ShowWindow函数设置窗口的显示状态,其函数原型如下:

BOOL CWnd::ShowWindow( int nCmdShow );

其中nCmdShow常用值有:

SW_HIDE:     隐藏窗口
SW_SHOW:     激活并以当前的大小在当前位置显示窗口
SW_SHOWMAXIMIZED:    最大化窗口
SW_SHOWMINIMIZED:    最小化窗口
SW_SHOWNORMAL:     激活并显示窗口,如果窗口处于最大化或最小化的状态时,将其恢复到原始窗口状态

 

 

 

软件设计之简单浏览器的实现 工具:VC++6.0 / window10 开发过程中的问题及解决 以下为在软件设计周实现简单浏览器过程中遇到的问题及解决方法,希望能对大家有所帮助! 浏览器对话框最大化和最小化 修改对话框的属性即可实现最大化和最小化按钮的增删 右击对话框–>属性–>样式–>勾选最大化框、最小化框 勾选前效果如下: 勾选后效果如下: 控件和MFC窗口一起最大化和最小化 在添加最小化和... 阅读详情

相关推荐

VC++ MFC对话框实现最小化到系统托盘:原理、代码与避坑指南

在Windows桌面应用开发中,系统托盘(通知区域)是后台程序实现静默运行和便捷交互的重要组件。其核心原理基于Windows Shell提供的Shell_NotifyIcon API,通过向系统注册图标、关联窗口句柄和自定义消息,实现用户与后台进程的交互。这项技术对于需要常驻后台的工具软件、通讯客户端和监控程序具有重要价值,能有效提升用户体验,节省任务栏空间。在MFC框架下,开发者需深入理解消息映射机制和资源管理,正确处理窗口最小化/关闭事件、自定义消息响应以及图标生命周期,才能避免图标残留、交互失灵等常见

weixin_30788619的博客 428

MFC 窗口操作(最大、最小等)

(1)最大化 SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0);//最大化 (2)最小化 SendMessage(WM_SYSCOMMAND,SC_MINIMIZE,0);//最小化 (3)还原 SendMessage(WM_SYSCOMMAND,SC_RESTORE,0);//还原 (4)关闭 SendMessage(WM_CLOSE,0,0);//关闭 (5)居中 CenterWindow();//居中 (6)位置大小 SetWindowPos(NULL,100,100,

GAORUI_GAO的博客 1883

MFC界面(一)在对话框上添加最小化功能.

首先,在对话框的属性中样式选项中勾选最大化和最小化.接下来: 1:在XXXDlg.h中 增加成员变量 NOTIFYICONDATA nid; 增加消息函数声明,就放在其他很多的afx_msg系列函数一起就行: afx_msg void OnNotifyIcon(WPARAM, LPARAM); 2:在cpp中修改如下内容: #ifdef _DEBUG #define new

luowanying的专栏 1717

MFC程序运行最小化

MFC 一、简介 在调试的时候,运行程序,程序一直最小化,如何解决 二、解决方法 在初始化函数中注释掉下面的函数 ShowWindow(SW_MAXIMIZE); // CICDDlg 消息处理程序 BOOL CICDDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_

weixin_45631738的博客 1651

VC++ MFC对话框窗体锁定方案:禁拖动、隐藏最大化最小化按钮、标题栏失效

一套开箱即用的VC++ MFC对话框源码,实现窗体完全固定——鼠标点击标题栏无反应,无法拖动窗口位置;最大化、最小化按钮彻底消失,仅保留关闭功能;系统级拦截NC_HITTEST消息,将标题栏区域(HTCAPTION)统一映射为客户区(HTCLIENT),从底层切断拖拽逻辑。项目基于标准MFC对话框工程构建,含完整.dsp/.dsw工程文件、资源脚本.rc、对话框类BKydctDlg的头文件与实现、预编译头StdAfx.h/.cpp及Resource.h等全部必要组件,结构清晰,无第三方依赖,VC6.0及早期

3c4x5z6v7b的博客 194

VC最大化和最小化窗口示例代码

VC最大化和最小化窗口示例代码!!!!!!

MoveWindow 和 SetWindowPos 的比较

void   CWnd::MoveWindow(   int   x,   int   y,   int   nWidth,   int   nHeight,   BOOL   bRepaint   =   TRUE   );   void   CWnd::MoveWindow(   LPCRECT   lpRect,   BOOL   bRepaint   =   TRUE   );     参

benny5609的专栏 2881

Power Automate实战:用SharePoint REST API批量处理列表数据(附JSON解析技巧)

本文深入探讨了如何利用Power Automate调用SharePoint REST API实现列表数据的批量自动化处理。文章详细解析了API的协同工作原理、高效的数据获取与筛选技巧,并重点分享了JSON数据解析的核心难点与实战解决方案,旨在帮助企业用户构建稳定可靠的数据处理流程,提升运营效率。

coffee的博客 769

VC++ 如何使窗体最大化或是最小化

最大化最小的使得的函数是 ShowWindow函数 ShowWindow(SW_SHOWMINIMIZED);//最小化 ShowWindow(SW_SHOWMAXIMIZED);//最大化 ShowWindow(SW_RESTORE);//还原 PostMessage(hwnd,WM_SYSCOMMAND,SC_MINIMIZE,0); SC_MAXIMIZE为最大化。 BOOL ShowWi...

weixin_42707403的博客 3185

硬件-汽车电子-TBOX/TCAM核心器件选型与系统集成设计指南

本文深入解析汽车电子TBOX/TCAM硬件架构与系统集成设计,涵盖核心器件选型、电源管理、信号完整性优化等关键点。重点分享5G模组选型避坑经验、MCU隐性指标及热设计验证方案,为车载通信系统开发提供实用指南。

weixin_30352645的博客 529

保姆级教程:用Python 3.10和Ollama在Windows上搞定LightRAG本地部署(附环境配置避坑指南)

本文提供了一份详细的Windows系统下LightRAG本地部署指南,涵盖Python 3.10环境配置、Ollama模型服务安装到LightRAG核心组件部署的全流程。特别针对Windows平台常见问题提供解决方案,帮助开发者快速搭建高效的检索增强生成(RAG)系统,实现专业领域知识的智能检索与整合。

weixin_28725407的博客 480

MFC开发之设置窗口最大化、最小化和默认大小

当没有标题栏后自己写最大化、最小化和默认大小 最大化按钮: static BOOL bMaximum = FALSE; Invalidate(); if (bMaximum) { ShowWindow(SW_RESTORE); bMaximum = false; //添加 } else { ShowWindow(SW_MAXIMIZE); bMaximum = tr...

金属服务,美好生活,天网改变世界,华帝量子科技。 6763

Trae+Playwright MCP自动化测试全流程指南:从环境搭建到智能体运行

本文提供了一份详细的Trae与Playwright MCP集成指南,涵盖从Node.js、Python环境搭建到智能体创建的全流程。通过结合MCP协议,AI智能体能够理解任务并驱动Playwright执行复杂的浏览器自动化操作,实现从网页数据抓取到端到端测试的智能工作流。

banana的博客 530

VC++MFC 窗口最大化

VC++MFC 窗口最大化、最小化的实现!     当利用AppWizard生成运用程序框架时,VC++已经为我们在标题条上做好了最大化,最小化及恢复按钮。     但有时我们也想在其它地方使用这些功能。这就可采用下面的办法。     在指定的消息处理函效中加入下列语句,则程序在收到该条消息后即执行窗口最小化。 WINDOWPLACEMENT lwndpl; WINDOWPLAC

jasonkent27的专栏 775

在Jetson Orin (Arm64)上从Ubuntu22.04回退至20.04的完整指南及ROS-noetic适配方案

本文提供了在Jetson Orin (Arm64)设备上将Ubuntu 22.04系统回退至20.04 LTS版本的完整操作指南。针对机器人开发中ROS-noetic对Ubuntu20.04的官方最佳支持,详细阐述了从关键备份、软件源与APT优先级配置、系统降级执行到后续问题排查的全过程,并附带了在Arm64架构上成功安装和验证ROS-noetic的适配方案,旨在为开发者构建稳定可靠的机器人开发环境。

flower的专栏 576

STM32F407硬件SPI驱动ADS1220避坑指南:从寄存器读不到数据到采样值异常的完整解决流程

本文详细解析了STM32F407硬件SPI驱动ADS1220的常见问题与解决方案,包括SPI配置、寄存器读取异常、采样值优化等关键环节。通过CubeMX配置技巧和Keil调试经验,帮助开发者快速排查从通信失败到数据异常的各种问题,实现高精度数据采集系统的稳定运行。

weixin_26878995的博客 157

vc++ Mfc窗体的最大化及最小化

void CMainFrame::OnMinbox(){ // TODO: 在此添加命令处理程序代码 WINDOWPLACEMENT _wndpl; WINDOWPLACEMENT *lpwndpl; lpwndpl=&_wndpl; GetWindowPlacement(lpwndpl);//获取窗体结构变更指针 lpwndpl->showCmd=SW_S

无名剑 2143

1000Base-T1协议解读(基于802.3bq-2016 和Test Suite)

1000Base-T1是由一对双绞线实现全双工传输的以太网标准,采用PAM3编码方式(-1,0,1),编码后的实际传输符号速率为750Mbps。该标准的车载最大传输距离可达15米,主要应用于汽车产品开发过程。测试过程示波器要求带宽≥2G,采样率≥7.5Gbps,网分带宽≥1G。

qflook的博客 5330

VC++MFC 窗口最大化、最小化的实现

     当利用AppWizard生成运用程序框架时,VC++已经为我们在标题条上做好了最大化,最小化及恢复按钮。但有时我们也想在其它地方使用这些功能。这就可采用下面的办法。在指定的消息处理函效中加入下列语句,则程序在收到该条消息后即执行窗口最小化。       WINDOWPLACEMENT lwndpl;    WINDOWPLACEMENT * lpwndpl;    lpwndpl=&

wanglei2258的专栏 1845

手把手教你学Simulink——基于Simulink的电压型 vs 电流型整流器性能对比

摘要:本文基于Simulink平台对比分析了电压型整流器(VSR)和电流型整流器(CSR)的性能差异。VSR采用电容滤波,具有高功率因数(PF>0.99)、低输入电流THD(<3%)等优势,但动态响应较慢;CSR采用电感滤波,动态响应快(<0.05s),但THD较高(5%~8%)。研究建立了统一测试平台,详细对比了两者在稳态性能、动态响应、效率等方面的差异,并给出了控制算法实现和参数优化建议。通过量化分析,为电力电子工程师提供了拓扑选型依据,可根据恒压/恒流需求选择最优方案,有效缩短开发周

MHD0815的博客 172

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VC++ MFC 常用技巧

(-). 下面是常见的Afx全局函数: AfxFormatString1:类似printf一般地将字符串格式化 AfxFormatString2:类似printf一般地将字符串格式化 AfxMessageBox:类似Windows API 函数 MessageBox AfxOuputDebugString:将字符串输往除错装置 AfxGetApp:获得application object (Cwi

keldy专栏 852

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

MFC窗口启动最大化

常用MFC进行编程的人都知道单文档的编程,在编程过程中发现欲使程序在启动时就能最大化显示,这里的处理方法有多种,但是结果却不一样。 首先大家最常用的就是在View类的PreCreateWindow函数中,修改窗口类型cs的值,也就是或上一个“最大化”即: 1.禁止窗口最大化等按钮 修改PreCreateWindow()函数如下: BOOL CWndMain::PreCr

Commander_Officer的专栏 2853

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Vc++ - mfc - 窗口最大化、最小化

关键技术: PostMessage(WM_SYSCOMMAND,SC_MAXSIZE,0); PostMessage(WM_SYSCOMMAND,SC_MINSIZE,0);

莫忘输赢的博客 564

VC++MFC应用程序向导

MFC(Microsoft Foundation Class,微软基础类库)是微软为了简化程序员的开发工作所开发的一套C++类的集合,是一套面向对象的函数库,以类的方式提供给用户使用。

当路danglu0010 2563

深入浅出话VC++——MFC的本质

进入到WinMain函数,即_tWinMain函数,在该函数中调用了 AfxWinMain函数,后者获取子类(程序中指的CSDIMFCApp类)的指针,利用该指针调用InitInstance虚函数,根据多态原理,实 际调用的是子类CSDIMFCApp的InitInstance函数,子类CSDIMFCApp的InitInstance函数完成应用程序的一些初始化 工作,包括窗口类的注册、创建、窗口显示和更新。上面代码中是_tWinMain函数啊,并不是我要的WinMain函数的,难道是找错了吗?

wwq222的专栏 1521
上一篇: 窗口坐标问题
下一篇: IsDialogMessage
YL_WH
博客等级 码龄18年 42粉丝 161原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值