Visual C++ 编程技巧之二

[自己总结+网上流传]Visual C++编程技巧 1. 如何获取应用程序的实例句柄?应用程序的 实例句柄保存在CWinAppIm_hInstance 中,可以这么调用AfxGetInstancdHandle获得句柄.Example: HANDLE hInstance=AfxGetInstanceHandle();2. 如何通过代码获得应用程序主窗口的指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用 AfxGetMai 阅读详情
Visual C++ 编程技巧之二

 

9. 如何改变窗口的图标?

10. 如何改变窗口的缺省风格?

11. 如何将窗口居中显示?

12. 如何让窗口和 MDI窗口一启动就最大化和最小化?

13. 如何使程序保持极小状态?

14. 如何限制窗口的大小?

15. 如何使窗口不可见?

16. 如何使窗口始终在最前方?

 

9. 如何改变窗口的图标?

向窗口发送 WM_SECTION消息。

Example:

HICON hIcon=AfxGetApp() ->LoadIcon(IDI_ICON);

ASSERT(hIcon);

AfxGetMainWnd() ->SendMessage(WM_SECTION,TRUE,(LPARAM) hIcon);

10. 如何改变窗口的缺省风格?

重栽 CWnd:: PreCreateWindow 并修改CREATESTRUCT结构来指定窗口风格和其他

创建信息.

Example: Delete "Max" Button and Set Original Window's Position and Size

BOOL CMainFrame:: PreCreateWindow (CREATESTRUCT &cs)

{

cs.style &=~WS_MAXINIZEMOX;

cs.x=cs.y=0;

cs.cx=GetSystemMetrics(SM_CXSCREEN/2);

cs.cy=GetSystemMetrics(SM_CYSCREEN/2);

return CMDIFramewnd ::PreCreateWindow(cs);

}

11. 如何将窗口居中显示?

Easy, Call Function CWnd:: Center Windows

Example(1): Center Window( ); //Relative to it's parent

// Relative to Screen

Example(2): Center Window(CWnd:: GetDesktopWindow( ));

//Relative to Application's MainWindow

AfxGetMainWnd( ) -> Center Window( );

12. 如何让窗口和 MDI窗口一启动就最大化和最小化?

先说窗口。

在 InitStance 函数中设定 m_nCmdShow的 取值.

m_nCmdShow=SW_SHOWMAXMIZED ; //最大化

m_nCmdShow=SW_SHOWMINMIZED ; //最小化

m_nCmdShow=SW_SHOWNORMAL ; //正常方式

MDI窗口:

如果是创建新的应用程序,可以用 MFC AppWizard 的Advanced 按钮并在

MDI子窗口风格组中检测最大化或最小化; 还可以重载 MDI Window 的

PreCreateWindow函数,设置WS_MAXMIZE or WS_MINMIZE;

如果从 CMDIChildWnd 派生,调用 OnInitialUpdate函数中的 CWnd::Show

Window来指定 MDI Child Window的 风格。

13. 如何使程序保持极小状态?

很有意思的 问题

这么办: 在恢复程序窗体大小时, Windows会发送WM_QUERY-OPEN消息,

用 ClassWizard设置成员函数 OnQueryOpen() ,add following code:

Bool CMainFrame:: OnQueryOpen( )

{

Return false;

}

14. 如何限制窗口的大小?

也就是 FixedDialog形式。 Windows 发送 WM_GETMAXMININFO消息来跟踪,

响应它,在 OnGetMAXMININFO 中写代码:

15. 如何使窗口不可见?

很简单,用SW_HIDE 隐藏窗口,可以结合 FindWindow,ShowWindow 控制.

16. 如何使窗口始终在最前方?

两种途径.

BringWindowToTop(Handle);

SetWindowPos函数,指定窗口的 最顶风格,用WS_EX_TOPMOST扩展窗口的 风格

Example:

void ToggleTopMost( CWnd *pWnd)

{

ASSERT_VALID(pWnd);

pWnd ->SetWindowPos(pWnd-> GetStyle( ) &WS_EX_TOPMOST)?

&wndNoTopMOST: &wndTopMost,0,0,0,0,SSP_NOSIZE|WSP_NOMOVE);

}


全面掌握Visual C++网络编程高级技巧 TCP/IP 协议族定义了网络通信过程中的基本结构,这套结构被分为四层,分别为:链路层、网络层、传输层和应用层。每一层都有其特定的功能和协议,使得复杂的数据通信过程变得条理清晰。链路层:负责在相邻网络节点之间的帧传输。常见的协议有以太网(Ethernet)、Wi-Fi等。网络层:管理数据包在网络中的传输路径,IP协议是该层的核心。它负责把数据包路由到最终目的地。传输层:主要负责的是数据包的传输,包括端到端的连接建立和数据传输管理。 阅读详情

相关推荐

Visual C++编程实践:核心概念与技巧全解

本文还有配套的精品资源,点击获取 简介:Visual C++(VC++)是微软推出的集成开发环境,主要用于编写C++程序。本文深入探讨了VC++的关键知识点和实用技巧,包括IDE使用、MFC、源码管理、编译与链接、调试技巧、异常处理、多线程编程、预处理指令、模板和泛型编程、STL、资源文件处理、性能优化、错误和日志记录、国际化与本地化及文档与注释等,以帮助开发者提升编程效率...

weixin_42578963的博客 931

c 语言创建窗口语句,使用C++来创建界面

上节讲到,Qt 支持两种创建界面的方式:一种是使用C++代码,Qt 自诞生以来就支持;另一种是使用 QML,可以创建个性化的界面。Qt 提供了多种工程类型,选择不同的工程类型将导致使用不同的方式来创建界面。本节先讲解C++的使用。首次打开Qt,会出现欢迎界面,点击New Project按钮,或者在菜单栏点击文件,然后选择新建文件或项目,都会弹出向导对话框,如下图所示:Qt Widgets Appl...

weixin_35543991的博客 856

Visual C++网络通信编程实战技巧

Socket接口API负责网络通信的底层细节,屏蔽了具体协议的复杂性,为开发者提供了一系列的标准函数调用。这些函数主要包括创建Socket、绑定Socket到特定端口、监听端口、接受连接、发送和接收数据以及关闭Socket等。以UNIX/Linux系统为例,主要的Socket函数包括:socket(): 创建一个新的Socket。bind(): 将Socket绑定到一个地址和端口上。listen(): 使Socket处于监听状态,准备接受客户端的连接请求。accept()

weixin_42514540的博客 407

在 Visual Studio 中使用 C# 创建 Windows 窗体应用

在此 Visual Studio 集成开发环境 (IDE) 简介中,了解如何创建具有基于 Windows 的用户界面 (UI) 的简单 C# 应用程序。 创建项目 首先,创建 C# 应用程序项目。项目类型随附了所需的全部模板文件,无需添加任何内容。 打开 Visual Studio 2019。 在“开始”窗口上,选择“创建新项目” 。 在“创建新项目” 窗口中,为 C# 选择“Wind...

醉逍遥的博客 1万+

PVE启动卡在loading initial ramdisk

pve显卡直通导致的异常解决

学而时习之 6689

不用Root也能抓包?Android高版本HTTPS抓包的3种替代方案(含Charles技巧)

本文针对Android高版本HTTPS抓包难题,提供了三种无需Root权限的实战解决方案:利用VirtualXposed等虚拟沙盒环境、配置Postern等系统级代理工具,以及通过修改应用源码或网络安全配置。文章还详细解析了Charles抓包工具在非Root环境下的高级配置与排错技巧,帮助开发者在遵守安全规范的前提下,有效进行网络调试与监控。

http9protocoller的博客 647

一个 MainWindow.xaml 文件和一个 MainWindow.g.i.cs 文件相对应。

一个 MainWindow.xaml 文件和一个 MainWindow.g.i.cs 文件相对应。 如上图所示窗口类文件被定义为partial的就是因为类 MainWindow 在 MainWindow .g.i.cs文件中还有定义,如下 在 MainWindow.g.i.cs 文件中 MainWindow 的完整声明如下: public partial class Ma

匆匆那年 1万+

给STM32供电,别只接VDD和GND!VBAT、VDDA这些引脚不接会怎样?

本文深入解析STM32电源设计中VBAT与VDDA引脚的关键作用,揭示仅连接VDD和GND可能导致的ADC精度下降、RTC功能异常等问题。通过实测数据对比不同连接方案,提供包括滤波电路设计、PCB布局布线和双电源自动切换在内的实用解决方案,帮助开发者优化系统稳定性与性能。

weixin_30521161的博客 628

你不得不知道的Visual Studio 2012(3)- 创建Windows应用程序

创建项目 在Visual Studio中创建一个应用程序,应首先创建一个项和一个解决方案。在此示例中,您将创建Windows presentation foundation应用程序。 创建 WPF 项目 在菜单栏上,依次选择 *** 文件 ***,新建,项目。 选择Visual Basic或visual C# WPF应用程序模板,然后...

weixin_33971205的博客 313

李大勇matlab密码,基于MatlabSimulink的太阳能热水系统仿真研究 沈超.doc

基于MatlabSimulink的太阳能热水系统仿真研究 沈超中国工程热物理学会 工程热力学与能源利用 编号:141090基于Matlab/Simulink的太阳能热水系统仿真研究沈 超1 1 余 鹏1 李洪欣1 魏新利2郑州大学土木工程学院,郑州 450001郑州大学化工与能源学院,郑州 45...

weixin_42298437的博客 1342

【芯片驱动】2. CMT2300A配合硬件测试(灵敏度和发射功率)的软件实现

前言 在开发一款无线射频产品的时候,软件是一部分,硬件也是一部分。而决定无线收发性能的,首先是硬件的匹配电路,然后才到软件部分的优化。 一款无线射频产品,首先需要先决定是在那个频率范围内(当然是国家允许的范围内),然后硬件则需要在基于这个频点范围进行硬件的参数匹配,具体又分为发送功率匹配、天线匹配、和接收灵敏度的匹配。 现在我们使用2300a这款无线芯片来说,除非自己的团队是射频专家,则可以自己进行无线外围电路的设计外,另外一种更加快捷的方式,就是寻找原厂技术支持,他们会给...

sishuihuahua的博客 7054

Visual studio 基于Windows窗体应用(.NET Framework)

Visual studio 基于Windows窗体应用(.NET Framework)

weixin_62925178的博客 4578

AMD KFD的SDMA Packet 类型和定义解析

本文详细分析了AMD GPU架构中的SDMA(System Direct Memory Access)数据传输机制,重点介绍了其核心数据结构——SDMA Packet。SDMA通过8种主要Packet类型(包括内存拷贝、数据写入、屏障同步、中断触发等)实现高效主机-设备通信。每种Packet采用位域结构和联合体封装设计,在保证功能完整性的同时实现空间优化。这些Packet支持丰富的访问属性和扩展字段,适用于高性能数据搬运、内存初始化、任务同步、性能分析等场景,为GPU计算提供了灵活高效的数据传输解决方案。

图形/计算GPU的驱动与虚拟化技术分享园地 1254

Visual C++编程技巧精选500例.pdf

Visual C++编程技巧精选500例.pdf 去发现同类优质开源项目:https://gitcode.com/ 《Visual C++编程技巧精选500例》是一本深入浅出的Visual C++编程指南,内容涵盖了消息框、常用控件、通用对话框、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序版权信息、...

gitblog_06794的博客 916

【100%通过率】华为od统一考试B卷【查找接口成功率最优时间段】Python 实现

服务之间交换的接口成功率作为服务调用关键质量特性,某个时间段内的接口失败率使用一个数组表示,数组中每个元素都是单位时间内失败率数值,数组中的数值为0~100的整数, 给定一个数值(minAverageLost)表示某个时间段内平均失败率容忍值,即平均失败率小于等于minAverageLost,找出数组中最长时间段,如果未找到则直接返回NULL。

MISAYAONE的博客 5869

SAP_PP模块定额工艺路线简介

在 SAP PP(生产计划)模块中,定额工艺路线(Routing) 是生产制造流程中的核心主数据之一,用于定义制造一个产品所需的标准操作步骤。工艺路线详细描述了生产过程中的各个工序、使用的工作中心、标准作业时间、资源分配等信息,是进行生产计划、成本核算、排产控制、车间执行等功能的基础。

我小时候很黑的博客 765

Visual C++ 编程技巧精选500例 - [罗斌].pdf 下载仓库

Visual C++ 编程技巧精选500例 - [罗斌].pdf 下载仓库 去发现同类优质开源项目:https://gitcode.com/ 资源介绍 本仓库提供了一个资源文件的下载,文件名为 Visual C++ 编程技巧精选500例 - [罗斌].pdf。该文件是一本关于Visual C++编程技巧的精选集,由罗斌编写,收录了500个实用的编程技巧,适合Visual C++开发者学习和参考。 ...

gitblog_06634的博客 513

计算机控制技术及应用

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

Visual C++编程的若干技巧

                                      Visual C++编程的若干技巧  Visual C++是一种面向对象的可视化编程工具,它提供的AppWizard能自动生成应用程序的标准框架,大大减轻了编程的工作量。本文主要介绍如下的编程技巧:修改主窗口风格、创建不规则形状窗口、用鼠标单击窗口标题条以外区域移动窗口、使用上下文菜单、使应用程序只能运行一个实例、使应

iBreathe的专栏 1359

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IDEA的使用指南

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

基于Visual C++的钩子编程技巧

基于Visual C++的钩子编程技巧钩子概述  钩子(Hook)是Windows消息处理机制的一个要点(Point)。应用程序可以通过钩子机制截获处理Window消息或是其他一些特定事件。同DOS中断截获处理机制类似,应用程序可以在钩子上设置多个钩子函数,由其组成一个与钩子相关联的指向钩子函数的指针列表(钩子链表)。当钩子所监视的消息出现时,Windows首先将其送到调用链表中所指向

dongliqiang2006的专栏 632

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Windows 程序开发 Visual C++编程技巧之zz

http://blog.youkuaiyun.com/devzhao/category/34452.aspxVisual C++编程技巧之六 http://blog.youkuaiyun.com/devzhao/articles/243363.aspx

weixin_33948416的博客 99

【亲测免费】 Visual C++ 编程技巧精选500例:提升开发效率的必备宝典

Visual C++ 编程技巧精选500例:提升开发效率的必备宝典 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在软件开发的世界里,掌握高效的编程技巧是每个开发者追求的目标。为了帮助广大Visual C++开发者提升编程效率和代码质量,我们特别推出了《Visual C++ 编程技巧精选500例 - [罗斌].pdf》下载仓库。这个仓库提供了一本由资深开发者罗斌编写的...

gitblog_06692的博客 371

Visual C++编程技巧

导读:   转自:优快云   Visual C++编程技巧 (这些问题可能在优快云里经常被人问到,现在列出来供大家参考,欢迎大家一起来完善之)   1. 如何获取应用程序的实例句柄?   应用程序的 实例句柄保存在CWinAppIm_hInstance 中,可以这么调用   AfxGetInstancdHandle获得句柄.   Example: HANDLE hInstance=AfxGet

zlf0727的专栏 768

Visual C++编程技巧 (1)

导读:   Visual C++编程技巧 (这些问题可能在优快云里经常被人问到,现在列出来供大家参考,欢迎大家一起来完善之)   1. 如何获取应用程序的实例句柄?   应用程序的 实例句柄保存在CWinAppIm_hInstance 中,可以这么调用   AfxGetInstancdHandle获得句柄.   Example: HANDLE hInstance=AfxGetInstan

happy5856的专栏 1551

Visual C++编程技巧精选500例资源下载说明:编程技能提升利器

Visual C++编程技巧精选500例资源下载说明:编程技能提升利器 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 《Visual C++编程技巧精选500例》是一个专为提升Visual C++编程技能而设计的资源集合。本资源集合汇聚了500个精心挑选的编程实例,从基础的控件应用到高级的图形图像处理,内容全面,适合各层次的开发者学习和实践。 项目技术分析 《Visu...

gitblog_06779的博客 320
上一篇: Visual C++编程技巧之一
下一篇: Visual C++编程技巧之三
0x16
博客等级 码龄20年 79粉丝 50原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值