自定义工具栏对话框实现:飞思卡尔MC9S12XS128 Bootloader设计与Windows汇编实例
需积分: 50 155 浏览量
更新于2024-08-07
收藏 5.2MB PDF 举报
本文主要讨论了在飞思卡尔芯片mc9s12xs128的Bootloader设计中如何实现自定义工具栏对话框的功能,以及相关的Windows Win32 API交互。自定义工具栏对话框是通过Windows消息机制与父窗口进行通信的,通过发送特定的通知码(TBN_BEGINADJUST, TBN_ENDADJUST, TBN_TOOLBARCHANGE, TBN_CUSTHELP, TBN_RESET)来同步状态变化。
关键知识点包括:
1. **通知码的使用**:
- `TBN_BEGINADJUST` 和 `TBN_ENDADJUST` 用于对话框打开和关闭时通知父窗口,告知工具栏布局的变化。
- `TBN_TOOLBARCHANGE` 在按钮调整时发送,用于更新工具栏布局。
- `TBN_CUSTHELP` 和 `TBN_RESET` 分别对应“帮助”和“重置”按钮点击事件,父窗口可以选择性响应。
- `TBN_QUERYINSERT` 和 `TBN_QUERYDELETE` 用于询问用户是否允许插入或删除按钮,父窗口必须处理并返回是否允许。
2. **TBNOTIFY 结构**:
- 当用户试图插入或删除按钮时,工具栏会发送一个包含按钮信息的 `TBNOTIFY` 结构,父窗口根据此结构判断操作是否允许。
3. **代码示例**:
- 示例程序使用 `ebx + NMHDR.code` 来检查通知码,并在 `TBN_QUERYINSERT` 和 `TBN_QUERYDELETE` 时始终返回 `TRUE`,表示允许用户自由操作。
- 对于 `TBN_GETBUTTONINFO`,处理过程更为复杂,因为工具栏可能需要多次请求按钮信息,程序会逐个获取并填充 `TBNOTIFY` 结构中的 `tbButton` 字段。
4. **Windows环境下32位汇编语言**:
- 该文章与《Windows环境下32位汇编语言程序设计》一书相关,介绍了一种在Windows环境中使用汇编语言开发应用程序的方法,强调了汇编语言在Windows平台上的可用性和优势。
- 作者罗云彬是一位经验丰富的汇编语言程序员,他的作品适合希望深入了解操作系统底层机制的读者。
5. **版权和联系方式**:
- 提供了图书的版权信息、购买和查询方式,以及作者和出版社的相关联系信息。
本文着重讲解了如何在飞思卡尔芯片Bootloader中通过Windows API实现自定义工具栏对话框,并展示了与之相关的汇编语言编程技巧,尤其适用于对Windows平台汇编编程有兴趣的开发者。
2020-04-13 上传
137 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
Davider_Wu
- 粉丝: 45
- 资源: 3898
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍