将About加入窗口的系统菜单

用Delphi设计的一个“about”窗体效果 摘要:Delphi源码,界面编程,关于我们 用Delphi设计的一个“about”窗体效果,一个"关于我们"的窗体设计实例,因为很多程序都会有一个“关于”窗体,看到有些朋友设计的很不美观,就从书中找了一个发上来,这个窗口也是很早设计的,虽然也不很美观,但至少不丑陋哈,可直接用在Delphi中。 运行环境:Windows/Delphi7 立即下载

如果能把关于软件的一些信息(About Me)加入窗口的系统菜单是不是很酷啊!
其实这是个很简单的操作,Let's go!

1.添加一个模块(SubClass)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Option Explicit
'有关系统菜单的API
Public Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Public Declare Function InsertMenu Lib "user32" Alias "InsertMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long


Public Const MF_BYCOMMAND = &H0&
Public Const MF_BYPOSITION = &H400&
Public Const MF_STRING = &H0&
Public Const MF_SEPARATOR = &H800&

'有关窗口的消息处理的API
Private Declare Function SetWindowLong Lib "user32" Alias _
        "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex _
        As Long, ByVal dwNewLong As Long) As Long
       
Private Declare Function CallWindowProc Lib "user32" Alias _
        "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal _
        hWnd As Long, ByVal Msg As Long, ByVal wParam As _
        Long, ByVal lParam As Long) As Long
       
Const GWL_WNDPROC = (-4&)
Const WM_SYSCOMMAND = &H112
Const WM_DESTROY = &H2

Dim PrevWndProc&


Public Sub Init(hWnd As Long)
  PrevWndProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf SubWndProc)
End Sub

Public Sub Terminate(hWnd As Long)
  Call SetWindowLong(hWnd, GWL_WNDPROC, PrevWndProc)
End Sub

Private Function SubWndProc(ByVal hWnd As Long, ByVal Msg As Long, _
                            ByVal wParam As Long, ByVal lParam As Long) _
                            As Long
 
  If Msg = WM_DESTROY Then Terminate (Form1.hWnd)
 
  If Msg = WM_SYSCOMMAND Then
     If wParam = 2002 Then
        MsgBox "我是40Star", vbInformation, "hia..hia..."
     End If
  End If
 
  SubWndProc = CallWindowProc(PrevWndProc, hWnd, Msg, wParam, lParam)
End Function

2.在窗口的load事件中加入
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
   InsertMenu GetSystemMenu(Me.hWnd, False), 0, MF_BYPOSITION Or MF_SEPARATOR, 2001, "" '加入一条分割线
   InsertMenu GetSystemMenu(Me.hWnd, False), 0, MF_BYPOSITION Or MF_STRING, 2002, "About Me(&A)"  '加入About me菜单在系统菜单中
   Call Init(Me.hWnd)
End Sub

3.在窗口的Unload事件中加入
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_Unload(Cancel As Integer)
   Call Terminate(Me.hWnd)
End Sub

 

OK啦!运行一下吧,是不是很好玩                  :)
在Win2000 + Vb6中调试通过

Good Luck

精彩编程与编程技巧-显示Windows系统的标准ABOUT窗口... 显示Windows系统的标准ABOUT窗口 立即下载

相关推荐

调用API函数设计About窗口...

VB之精彩编程参阅资料-调用API函数设计About窗口

C#Windows 窗体设计-实现欢迎界面-显示About窗体-在托盘中写入应用程序图标

1. private void Form1_Load(object sender, EventArgs e) { //MessageBox.Show("将窗体加载到内存","信息",MessageBoxButtons.OK,MessageBoxIcon.Information); label1.Text = System.Date

张亚运的专栏 5543

用Delphi设计的一个“about”窗体效果..rar

用Delphi设计的一个“about”窗体效果..rar

WinForm设计之About窗体

Author:水如烟  代码见应用类代码和辅助类代码关于About窗体,已经在这做过。现在结合这段时间设计的类,重新组织一下。这个About窗体附加了一些功能:一是置主窗体的Text值为程序集信息Title值;二是让程序每十分钟强制垃圾回收。设计时的主窗体:主窗体代码:Imports lzmtw.uSystem.uWindows.uFormsPublic Class M

水如烟 3473

C# 向窗体的系统菜单添加菜单项

C#向窗体的系统菜单添加菜单项C#向窗体的系统菜单添加菜单项C#向窗体的系统菜单添加菜单项C#向窗体的系统菜单添加菜单项

SAP ABAP MIGO增强实战:自定义页签与字段的完整实现指南

本文详细介绍了SAP ABAP中MIGO增强的实战指南,包括自定义页签与字段的完整实现步骤。通过BADI增强技术,开发者可以快速满足企业个性化需求,如添加供应商批次号等特殊字段。文章涵盖数据存储结构设计、BADI框架实现、核心方法编写及数据持久化方案,帮助用户高效完成MIGO屏幕增强开发。

study的专栏 774

Delphi的对话框窗体

窗体也可以用作对话框,实际上,对于用户来说,作为对话框的Delphi窗体与真正的对话框之间没有区别的。 “真正的对话框”意思是指用传统方法建立起来的对话框,它有资源编译器和资源脚本文件建立,在其他一些编程环境中其对话框就是用这种方式建立的,Delphi没有用传统的对话框)。 对话框有以下几种特征,这正是与正常窗体的不同之处: 1、对话框通常不能调整大小,它们通常是用来完成一个特殊的功能,...

weixin_34095889的博客 332

Python3 ACM模式输入输出全攻略:从牛客网到华为机试的实战技巧

本文详细解析了Python3在ACM模式下的输入输出处理技巧,针对牛客网、华为机试等在线评测系统。文章从input()函数本质出发,总结了六种高频输入模式的处理模板,并提供了链表、二叉树等数据结构的I/O实战方案,最后给出性能优化与常见避坑指南,帮助开发者高效应对算法笔试。

zero1的博客 998

探索Electron应用的“关于”窗口:about-window

探索Electron应用的“关于”窗口:about-window 在开发Electron应用时,为用户提供一个详尽的“关于”窗口是提升用户体验的重要一环。今天,我们将深入了解一个专为此目的设计的开源项目——about-window。这个项目不仅简化了创建“关于”窗口的过程,还提供了丰富的自定义选项,让开发者能够轻松地展示应用的详细信息。 项目介绍 about-window是一个为Electron应...

gitblog_01024的博客 636

软件自动化测试脚本如何编写,编写自动化测试脚本的几点注意事项

我们需要自动化测试脚本的原因:1、验收测试是一项非常复杂和费力的被用来确保软件质量的环节。它的目的就是使软件能得到充分运行并且能使其符合原始需求。2、测试的目的无非就是满足了两个结果:测试通过或测试不通过。为了能实现每个测试结果,必须要明确每个测试用例。并且对于整个系统而言在合同中必须定义测试用例的失败标准,而且这个失败标准数必须是可接受的。3、测试用例的通过条件必须有一个清晰的标准,标准可以被定...

weixin_39575775的博客 2251

FreeSurfer安装避坑指南:从邮箱选择到环境变量设置的全流程解析

本文详细解析了在Windows系统上安装和配置FreeSurfer神经影像分析工具的全流程避坑指南。重点涵盖WSL2深度配置、软件版本选择、许可邮箱获取策略、环境变量模块化设置以及图形界面调试等关键步骤,帮助用户高效构建稳定的分析环境,避免常见安装陷阱。

weixin_29243063的博客 229

VB 子类化技术详解

1. 何谓子类化(subclassing) 众所周知,Windows是一个基于消息的系统,消息在Windows的对象之间进行着传递。子类化和Windows的钩子机制存在于消息系统之中,我们可以利用这些机制来操纵、修改甚至丢弃那些在操作系统或是进程中传递的消息,以求改变系统的一些行为。子类化技术用来截取窗口或控件之间的消息,当然是消息在到达目的窗口之前完成的操作。这些被截获的消息既可以保留也可...

miaozk2006的专栏 853

FTPClient使用中,碰到SocketTimeoutException 坑

ftpclient设置soTimeout无效

u010379794的博客 1951

将About加入系统菜单

在VB.net中想要实现这个也很简单,不过需要重载窗口的WndProc过程才能处理WM_SYSCOMMAND消息具体代码:    Private Declare Function GetSystemMenu Lib "user32" Alias "GetSystemMenu" (ByVal hwnd As Int32, ByVal bRevert As Int32) As Int32    P

40Star的专栏 1467

【stm32+K210项目】基于K210与STM32协同工作的智能垃圾分类系统设计与实现(完整工程资料源码)

本系统采用SG90舵机Maix Bit摄像头STM32C8T6主控板以及LX_TRIG_MP3_V6.0语音播报模块,构建了一套高效的智能垃圾分类系统,综合运用了图像识别、语音播报及精准控制技术。SG90舵机负责控制垃圾桶的开盖操作。该舵机通过接收PWM信号来实现转动,内部有一个基准电路产生周期为20ms的PWM信号,通过外部脉冲信号的控制(高电平时间在0.5ms至2.5ms之间),使得舵机的输出轴转动到指定位置。舵机内的位置反馈电位计。

嵌入式技术开发 5099

复数值神经网络可能是深度学习的未来

复数这种东西,在人的头脑中似乎抽象、似乎复杂,然而,对于计算机来说,一点也不抽象,不复杂,那么,将复数概念推广到神经网络会是什么结果呢?本篇介绍国外的一些同行的尝试实践,请我们注意观察他们的进展。

gongdiwudu的专栏 6615

MFC如何定制对话框系统菜单

背景 系统菜单是每个 Windows 程序的标准特性。通常系统菜单由 Windows 系统来管理,所以我们平时编成时很少去碰它。但是,有的时候,我们确实想定制自己的系统菜单项。这样就涉及到定制菜单的处理问题,因为 Windows 无法自动处理我们定制的系统菜单。而且,系统菜单的处理方式与常规的菜单处理是不同的。那么我们如何实现定制的系统菜单呢?相信看完本文的介绍,你会得到满意的答案。

小龙王2010 2344

Vue3 - Element Plus 下拉选择器 el-select 覆盖修改 placeholder样式,解决覆盖不生效问题(支持修改文字颜色、文字大小、选择器边框、hover效果、宽高等任意样式

vue3,element-plus,el-select,下拉选择器,下拉选择框,Select选择器,deep覆盖无效怎么办,怎么修改placeholder文字颜色,选择器select修改边框样式,修改文字大小,elementPlus选择器如何覆盖hover效果,使用deep改不了样式,修改边框颜色,select去掉边框,vue3+elementPlus中select选择器如何修改placeholder文字样式,修改el-select样式,select选择器样式覆盖不了咋办,el-select如何覆盖原样式,

🏆 前端领域优质创作者 1万+

如何定制对话框系统菜单

 如何定制对话框系统菜单作者:NorthTibet下载源代码 背景    系统菜单是每个 Windows 程序的标准特性。通常系统菜单由 Windows 系统来管理,所以我们平时编成时很少去碰它。但是,有的时候,我们确实想定制自己的系统菜单项。这样就涉及到定制菜单的处理问题,因为 Windows 无法自动处理我们定制的系统菜单。而且,系统菜单的处理方式与常规的菜单处理是不同的。那么我们如何

sh_chenjian的专栏 682

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

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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VC如何定制对话框系统菜单

VC如何定制对话框系统菜单 本文例子是一个典型的C++/MFC对话框程序,设置了 EX_WM_TOOLWINDOW 扩展式样,因此在标题栏左上角看不到系统菜单图标,但通过 Ctrl+Space 或者在标题栏单击鼠标右键可以调出系统菜单。例子程序对系统菜单进行了定制,在原有菜单基础上添加了两个菜单命令:一个是显示“关于”对话框;另一个是“退出”。之所以要加一个“退出”菜单命令,是因为例子程序改写

Parason的专栏 1176

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

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

Electron About Window 教程

Electron About Window 教程 项目介绍 Electron About Window 是一个专为 Electron 应用程序设计的库,它简化了创建关于窗口的过程。这个项目提供了一种简单的方式来展示包含应用信息、版权详情、自定义内容等的标准“关于”对话框,无需手动编写复杂的 UI 代码。通过它的灵活配置,开发者可以轻松定制“关于”窗口的外观和交互,以符合其应用程序的品牌风格。 ...

gitblog_00018的博客 582

【wxWidgets教程】窗体:菜单与菜单栏

本文介绍了wxWidgets中菜单与菜单栏的交互设计方法。主要内容包括:1)菜单系统类图结构,展示wxMenuBar、wxMenu和wxMenuItem的层级关系;2)创建菜单栏的两种方式,以及如何添加菜单项、分隔符和预定义项;3)上下文菜单的实现方法;4)菜单项类型(普通项、复选框项和单选按钮项)的创建与使用;5)事件处理机制,包括各种菜单相关事件及其处理方法。文章通过代码示例详细说明了wxWidgets菜单系统的实现技巧,为开发交互式GUI程序提供了实用指导。

万法若空 985

如何定制对话框系统菜单(C++/MFC)

【简 介】系统菜单是每个 Windows 程序的标准特性。通常系统菜单由 Windows 系统来管理,所以我们平时编成时很少去碰它。但是,有的时候,我们确实想定制自己的系统菜单项。这样就涉及到定制菜单的处理问题,因为 Windows 无法自动处理我们定制的系统菜单。而且,系统菜单的处理方式与常规的菜单处理是不同的。那么我们如何实现定制的系统菜单呢?相信看完本文的介绍,你会得到满意的答案。 

3218

VC++ 菜单详解

1. 取消右键系统菜单 在PreCreateWindow函数中改变设置样式: cs.style&=~WS_SYSMENU CREATESTRUCT的具体结构如下: typedef struct tagCREATESTRUCT {   LPVOID    lpCreateParams;   HANDLE    hInstance;//当前实例句柄    HMENU     hMenu;

shdj111的专栏 1228

zz:VC CMenu / 菜单操作

实现右键菜单时,需要实现单选项,查msdn没能解决,只好求助网络。 ZZ from:http://blog.sina.com.cn/s/blog_4c1934d5010009k7.html 1. 取消右键系统菜单在PreCreateWindow函数中改变设置样式:cs.style&=~WS_SYSMENUCREATESTRUCT的具体结构如下:typedef s

jtujtujtu的专栏 2691
上一篇: 让窗体的标题栏不相应鼠标双击
下一篇: 调用系统屏幕保护
40Star
博客等级 码龄25年 1粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值