windows-7 - Windows 7,如何告诉另一个窗口 "snap"为最大垂直尺寸?那么如何在 elisp 中做到这一点呢?

标签 windows-7 emacs elisp

我最近发现如何在 Windows 上的 emacs elisp 中最大化 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
  )

是否有类似的 Windows 消息可以发送到任何窗口或我的 emacs 窗口以使其对齐到最大垂直尺寸?

(首先,我可以在谷歌上搜索到上面的61488是0xF300,对应于WM_SYSCOMMAND SC_MAXIMIZE,它是窗口系统菜单中的一个条目,并且“对齐垂直”不在该菜单中,所以我认为它不是将通过 WM_SYSCOMMAND 消息发生......)

最佳答案

根据this blog post ,你需要执行:

PostMessage(hwndTarget, WM_NCLBUTTONDBLCLK, HTTOP, 0);

我看了一下,但 emacs 似乎没有 w32-send-mesage 等效项。如果您确实找到了,WM_NCLBUTTONDBLCLK 为 163,HTTOP 为 12。

关于windows-7 - Windows 7,如何告诉另一个窗口 "snap"为最大垂直尺寸?那么如何在 elisp 中做到这一点呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7743712/

相关文章:

windows - 进程.exit(0) : output disappears?

emacs - `apply-partially` 的定义如何在 Emacs 24 中工作?

.net - 用于为 Windows Vista/7 开发 .NET 应用程序的资源?

java - Gradle Exec block 不会将标准输出重定向到给定的输出流

c# - 如何以编程方式管理 Windows 7 中的多显示设置?

emacs - 如何为特定缓冲区本地设置缓冲区face属性?

emacs - 为什么我不应该使用push-mark

emacs - Elisp破坏性操作警告?

emacs - 何时在 Emacs Lisp 中引用符号

windows-7 - 安装Windows服务后重新启动计算机