打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
消除gvim全屏时的3D边框
消除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.
.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VC 单文档程序全屏显示及恢复--孤身我路!(My Blog)
全屏边框
vim windows下 窗口透明
Delphi:窗体的扩展样式GWL
gvim的配置
漂亮的全屏边框
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服