开源API自适应尺寸的输入框
功能说明:该程序是一个用于动态调整输入框(如系统标准输入对话框)界面尺寸的Windows钩子工具,核心功能是在用户触发输入框显示时,通过安装CBT(Computer-Based Training)钩子监听窗口创建与激活事件,自动计算并重设输入框及其内部控件(如提示文本、编辑框、按钮等)的尺寸与位置,以实现“自适应高度”效果。具体逻辑为:当检测到#HCBT_ACTIVATE消息(即输入框窗口即将被激活)时,程序遍历其子窗口,定位提示文本控件(Label),获取其原始文本内容与字体度量信息,调用DrawText计算多行文本所需的实际高度;随后将该高度增量应用于整个输入框窗口——既纵向拉伸提示文本控件自身,又同步上移下方所有后续子控件(连续四次调用GetWindow/ScreenToClient/SetWindowPos调整按钮等位置),并最终微调主窗口顶部位置以保持视觉居中感,使整体界面更紧凑、美观、适配长文本提示。程序提供两个入口:按钮1启动“带自适应功能的输入框”,会注入钩子并调用标准输入框;按钮2则调用普通输入框作对比。所有操作基于Windows API原生调用(如SetWindowsHookEx、GetWindowText、DrawText、SetWindowPos等),不依赖易语言可视化组件,属于轻量级界面增强型辅助工具,适用于需频繁弹出提示性输入框且对UI一致性有较高要求的桌面应用环境。
======窗口程序集1
| |
| |------ WinProc
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ API_GetCurrentThreadId
| |
| |---[dll]------ API_GetWindowLong
| |
| |---[dll]------ API_GetWindowRect
| |
| |---[dll]------ API_SetWindowPos
| |
| |---[dll]------ API_SetWindowsHookEx
| |
| |---[dll]------ API_UnhookWindowsHookEx
| |
| |---[dll]------ API_GetWindow
| |
| |---[dll]------ API_SetWindowLong
| |
| |---[dll]------ API_SendMessage
| |
| |---[dll]------ API_DrawText
| |
| |---[dll]------ API_GetDC
| |
| |---[dll]------ API_GetWindowText
| |
| |---[dll]------ API_GetWindowTextLength
| |
| |---[dll]------ API_DeleteObject
| |
| |---[dll]------ API_GetStockObject
| |
| |---[dll]------ API_SelectObject
| |
| |---[dll]------ API_ScreenToClient
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。