消除gvim全屏时的边框,有两种方法: 第一种修改源代码,重新编译gvim. 有高手编译好了,你可以到这里下载:http://www./entry/note/vim-73-any-fonts.html 第二种,外部插件通过设置gvim窗口位置和大小,视觉上消除变宽. SetWindowPos 函数可以做到. 但最终做到的效果,四周还是有1个像素的边框. 下面是我修改了vimtweak.c 插件中的EnableMaximize 函数,重新编译生成新的vimtweak.dll 改好的函数如下: LONG _declspec(dllexport) EnableMaximize(LONG bEnable) { HWND hTop = NULL; DWORD dwThreadID; int x,y; dwThreadID = GetCurrentThreadId(); EnumThreadWindows(dwThreadID, FindWindowProc, (LPARAM)&hTop); if (hTop) { if (bEnable == 0){ SetWindowLong(hTop, GWL_STYLE, GetWindowLong(hTop, GWL_STYLE)|WS_CAPTION); //还原恢复标题 SendMessage(hTop, WM_SYSCOMMAND, SC_RESTORE, 0); } else{ SetWindowLong(hTop, GWL_STYLE, GetWindowLong(hTop, GWL_STYLE) & ~WS_CAPTION); //无标题 no title SendMessage(hTop, WM_SYSCOMMAND, SC_MAXIMIZE, 0); //最大化 x=GetDeviceCaps(GetDC(hTop),HORZRES); //1024 取得当前显示器的 宽度和高度 y=GetDeviceCaps(GetDC(hTop),VERTRES); //768 //设置窗口位置及大小 把窗口最大宽度和最大高度分辨增加14和7像素,位置从 -4,-3 坐标开始. //这样边框就画在屏幕外面了,视觉上消除gvim的边框. gvim no border SetWindowPos(hTop,0,-4,-3,x+14,y+7,SWP_NOZORDER); } } return GetLastError(); } 稍后上传修改好的vimtweak.dll. .
|
|
来自: Rainboy913 > 《Gvim》