问题描述
- VC下做一个功能,双击列表控件,使得列表全屏显示,按Esc键恢复原来状态,怎么做?
- 使用List Control,双击它的时候能够变成全屏,按Esc键恢复原来状态
解决方案
是什么环境?如果是VB或者C#,你可以做一个窗口,不要边框和标题栏(controlbox FormBorderStyle),list control dock设置为fill
响应keypress,如果是窗口,就切换到全屏的那个窗口,否则切换回来。
解决方案二:
处理db_click双击消息,然后MoveWindow调整窗口全屏大小。然后PreTranslateMsg处理esc按键消息。然后MoveWindow调整大小还原
解决方案三:
子类化控件拦截WM_LBUTTONDBLCLK
或者在父窗口的 WM_COMMAND 里拦截LBN_DBLCLK?
全屏:先把窗口改为无边框窗口,用setwindowlong修改风格实现,再用movewindow函数把窗口位置调到0,0,宽度为屏幕宽度,高度为屏幕高度
截获esc键:使用wm_keydown消息
时间: 2024-09-06 11:54:23