我最近发现在emacs elisp的Windows上我可以最大化emacs框架:How do I set the size of Emacs' window?。
(defun w32-maximize-frame ()
"Maximize the current frame"
(interactive)
(w32-send-sys-command 61488))
我更喜欢的是使用Windows 7“快照”功能将我的emacs窗口“捕捉”到它的最大垂直尺寸。
(defun w32-snap-max-vertical-frame ()
"Maximize the vertical size of the current frame"
(interactive)
; insert magic here
)
是否有类似的窗口消息我可以发送到任何窗口,或者我的emacs窗口让它捕捉到最大垂直尺寸?
(作为一个开始,我可以google 61488以上是0xF300并且对应于WM_SYSCOMMAND SC_MAXIMIZE这是窗口系统菜单中的条目,并且“snap to vertical”不在该菜单中,所以我不认为它将通过WM_SYSCOMMAND消息发生....)
答案 0 :(得分:2)
根据this blog post,您需要执行:
PostMessage(hwndTarget, WM_NCLBUTTONDBLCLK, HTTOP, 0);
我看了一下,但看起来emacs没有等效的w32-send-mesage
。如果找到一个,WM_NCLBUTTONDBLCLK
为163,HTTOP
为12。
答案 1 :(得分:1)
不确定你在问什么。你说的是Emacs框架和Emacs窗口,但我仍然会得到一个印象,也许你真的意味着你想要最大化一个框架,但只在纵向直接。是吗?
如果是,请参阅frame-cmds.el
中的命令maximize-frame-vertically
。还有命令maximize-frame-horizontally
和maximize-frame
,以及在最大化之前将帧恢复到其大小(垂直,水平或两者)的命令。