创建两个子窗口A、B,将按键分别用SetParent设置到A、B中
ShowA,则B隐藏,A移动到窗口的左上角
ShowB,则A隐藏,B移动到窗口的左上角
ShowAB,则都不隐藏,AB分别移动到对应位置

解决方案 »

  1.   

    你的每一个按键都是按钮啊 这种做法 说实话不太专业的 你可以看看那些知名或者有点名气的软件 如果有虚拟键盘 不会每个按键对应一个按钮 如果都对应一个按钮的话 扩展性会比较差 而且如果你的按钮都是图片按钮的话 又有鼠标经过按下等等的状态图片 会占用上百个GDI资源,事件响应方面也会存在问题。 如果有时间的话 最好改成directui模式。 这些可能答非所问 提个意见而已。
    至于你的想法,我看没有很好的方法 除非用一些怪异的办法。 比如用setwindowrgn来截取小键盘部分 然后在把截下来的窗口放到一个合适大小的父窗口上。
    一般来说 程序开始考虑的扩展性不强的话  遇到增加功能的时候 往往就得用非常规办法 用的多了  最后还是不得不重构。
      

  2.   

    赞同4#的观点,可以从孙鑫mfc视频中借鉴一下
      

  3.   

    楼主说那么多只是想要效果(按钮太多移动起来可能会难看)好就行了吧,
    建议用5楼的办法。不要用button控件做