通过什么方法可以大小自由显示窗口

tixisong 2015-03-10 03:07:02
要实现的效果很简单。方法分两个程序分别写是没有什么问题,但不想重复写。还有就是隐藏左边所有按钮,然后再movewindow右边按钮到左边。能有别的办法没?
程序完整界面


我想通过什么方法,程序界面有时可以显示左半边部分,有时显示右半边部分。通过setwindowpos只能从窗口左上角坐标算起,我想从某点开始算起。
有时想显示全键盘。


我有时只想显示小写键盘
...全文
226 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
HN_gsf 2015-03-11
  • 打赏
  • 举报
回复
赞同4#的观点,可以从孙鑫mfc视频中借鉴一下
allenhiman 2015-03-11
  • 打赏
  • 举报
回复
你的每一个按键都是按钮啊 这种做法 说实话不太专业的 你可以看看那些知名或者有点名气的软件 如果有虚拟键盘 不会每个按键对应一个按钮 如果都对应一个按钮的话 扩展性会比较差 而且如果你的按钮都是图片按钮的话 又有鼠标经过按下等等的状态图片 会占用上百个GDI资源,事件响应方面也会存在问题。 如果有时间的话 最好改成directui模式。 这些可能答非所问 提个意见而已。 至于你的想法,我看没有很好的方法 除非用一些怪异的办法。 比如用setwindowrgn来截取小键盘部分 然后在把截下来的窗口放到一个合适大小的父窗口上。 一般来说 程序开始考虑的扩展性不强的话 遇到增加功能的时候 往往就得用非常规办法 用的多了 最后还是不得不重构。
LH_Seven 2015-03-11
  • 打赏
  • 举报
回复
或许你可以参考一下伸缩功能。在孙鑫的VC++深入详解第七章第五点中有介绍到。 当需要显示右边的键盘的时候点击按钮,不需要的时候点击按钮隐藏。
zh359780498 2015-03-11
  • 打赏
  • 举报
回复
楼主说那么多只是想要效果(按钮太多移动起来可能会难看)好就行了吧, 建议用5楼的办法。不要用button控件做
worldy 2015-03-10
  • 打赏
  • 举报
回复
创建两个子窗口A、B,将按键分别用SetParent设置到A、B中 ShowA,则B隐藏,A移动到窗口的左上角 ShowB,则A隐藏,B移动到窗口的左上角 ShowAB,则都不隐藏,AB分别移动到对应位置
likfeng 2015-03-10
  • 打赏
  • 举报
回复
楼主自己的方法就行,别搞的太复杂了
Eleven 2015-03-10
  • 打赏
  • 举报
回复
用两个子对话框分别表示大键盘和小键盘,这样比较好操作一些。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧