消除gvim全屏时的边框,有两种方法:
第一种修改源代码,重新编译gvim. 有高手编译好了,你可以到这里下载:http://www.dobila.info/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.
.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。