zoukankan      html  css  js  c++  java
  • 百度输入框的秘密

    前不久,百度发布了手机输入法。相比较之前的点讯输入法,在用户桌面增加了一个百度搜索框。这里来探究一下搜索框的一些做法。

    在默认状态下,搜索框是隐藏的,只在Menubar上有一个百度图标显示,如图

    当点击百度图标时,图标隐藏,搜索框弹出,如图

    搜索框还自适应输入法面板,如图

    用CE Spy来查看窗口,可以看到百度图标其实是个窗口,其父窗口是一个MS_SOFTKEY_CE_1.0类型的窗口,如下图。注意,SHFindMenuBar得到的只是menu_worker类型的窗口,而MS_SOFTKEY_CE_1.0类型窗口是与之成对出现的。

    而百度搜索框就是一个非模态对话框

    当百度图标窗口得到WM_LBUTTONUP消息时,生成一个新的对话框并显示,当用户选择对话框的“退出”按钮时,销毁该对话框。对话框通过响应WM_SETTINGCHANGE等消息,来自适应输入法面板。

    原理大致如此,我们可以来做一个自己的“摆渡”图标窗口

  • 相关阅读:
    触发器和存储过程简述
    sql笔记
    AES加密解密代码
    动态获取实体类及类中方法
    springboot metrics elk
    深入浅出Spring Security
    RandomValueStringGenerator
    ExceptionUtils
    spring.main.web-application-type: none
    excel前80%平均分
  • 原文地址:https://www.cnblogs.com/fengju/p/6173538.html
Copyright © 2011-2022 走看看