如何改变标题栏的宽度

原创 2004年10月29日 15:47:00


方法一:

NONCLIENTMETRICS ncm;
ncm.cbSize = sizeof( NONCLIENTMETRICS );

::SystemParametersInfo( SPI_GETNONCLIENTMETRICS,
sizeof( NONCLIENTMETRICS ),
&ncm,
0
);

ncm.lfCaptionFont.lfHeight = -300;
::SystemParametersInfo( SPI_SETNONCLIENTMETRICS,
sizeof( NONCLIENTMETRICS ),
&ncm,
SPIF_SENDCHANGE
);
 

方法二:

case WM_NCCALCSIZE:
{
BOOL bSpecial=FALSE;
int nEdgeWidth =3;
int nBarHeight =CAPTIONHEIGHT+3;
int nBottomEdge =3;

if(!(BOOL)wParam)
{
RECT rtSave;
CopyRect(&rtSave,(LPRECT)lParam);
// ::CallWindowProcA(lpwndinfo->pWndProc,hWnd,uMsg,wParam,lParam);


if(lpwndinfo->bIM ==TRUE)
{
int imbarheight =17;
rtSave.left+=nEdgeWidth;
rtSave.top+=imbarheight+3;
rtSave.right-=nEdgeWidth;
rtSave.bottom-=nBottomEdge;
}
else
{
rtSave.left+=nEdgeWidth;
rtSave.top+=nBarHeight;
rtSave.right-=nEdgeWidth;
rtSave.bottom-=nBottomEdge;
}
CopyRect((LPRECT)lParam,&rtSave);

*lResult=0;
::ReleaseDC(hWnd,hDC);
return TRUE;
}
else
{
RECT rtSave;
LPRECT prtClt;
LPNCCALCSIZE_PARAMS pNC;
pNC=(LPNCCALCSIZE_PARAMS)lParam;

prtClt=&(pNC->rgrc[0]);
CopyRect(&rtSave,prtClt);
CopyRect( &(pNC->rgrc[2]), &(pNC->rgrc[1]));

if(bSysDlg)
{
(pNC->rgrc[2]).left +=nEdgeWidth;
(pNC->rgrc[2]).right -=nEdgeWidth;
}
else
{
if(lpwndinfo->bIM ==TRUE)
{
int imbarheight =17;
(pNC->rgrc[2]).left +=nEdgeWidth;
(pNC->rgrc[2]).top +=imbarheight+3;
(pNC->rgrc[2]).right -=nEdgeWidth;
(pNC->rgrc[2]).bottom -=nBottomEdge;

rtSave.left+=nEdgeWidth;
rtSave.top+=imbarheight+3;
rtSave.right-=nEdgeWidth;
rtSave.bottom-=nBottomEdge;
}
else
{
(pNC->rgrc[2]).left+=nEdgeWidth;
(pNC->rgrc[2]).top+=nBarHeight;
(pNC->rgrc[2]).right-=nEdgeWidth;
(pNC->rgrc[2]).bottom-=nBottomEdge;
// Result=::CallWindowProcA(lpwndinfo->pWndProc,hWnd,uMsg,wParam,lParam);
//prtClt=&(pNC->rgrc[0]);
rtSave.left+=nEdgeWidth;
rtSave.top+=nBarHeight;
rtSave.right-=nEdgeWidth;
rtSave.bottom-=nBottomEdge;
}
}
CopyRect(prtClt,&rtSave);
*lResult=0;
::ReleaseDC(hWnd,hDC);
return TRUE;
}
break;
}

实现拖动table标题实现改变td的大小

拖动列宽的表格
  • qiaoshuai0920
  • qiaoshuai0920
  • 2013年04月15日 17:12
  • 1387

Windows 2003 SP1 窗口标题栏、菜单字体变小解决方法

机器配置:P4 3.0 HT,内存512MB,主板SIS648FX, 显卡NVIDIA GeForce4 MX 4000Windows 2003 标准版,集成SP1补丁包后安装。使用过程中,窗口标题栏...
  • zqliyj
  • zqliyj
  • 2007年02月11日 18:53
  • 5263

改变程序显示模式(获取窗口大小、状态栏大小、标题栏大小、边框大小)

如果我们想在程序界面上实现象RealPlayer播放器那样有正常和精简两种显示模式,该怎样实现呢?下面我用VC6.0做的一个多模式显示程序示例来向大家展示,它是怎样实现类似功能的。如下图所示:(图一)...
  • ke_yang
  • ke_yang
  • 2010年03月25日 22:14
  • 4114

C#重绘windows窗体标题栏和边框

摘要 windows桌面应用程序都有标准的标题栏和边框,大部分程序也默认使用这些样式,一些对视觉效果要求较高的程序,如QQ, MSN,迅雷等聊天工具的样式则与传统的windows程序大不相同,其中迅...
  • guangboo
  • guangboo
  • 2012年12月06日 12:02
  • 7246

实现锁定上标题栏和左标题栏的table表格---最佳实践

实现一个可以锁定上标题栏和左标题栏的table,左右上下都可以滚动! 在html界面上实现这个功能,花了一下午加一个早晨,试了很多办法,只有这一种方法最靠谱,其他实现都过于复杂,而且存在各种各样的问...
  • fhzaitian
  • fhzaitian
  • 2016年12月15日 15:36
  • 761

ios tableView (tableView添加标题,头尾和改变cell的宽度)

在上一章节中我们把章节数改为2 /* 这个函数是显示tableview的章节数*/ -(NSInteger)numberOfSectionsInTableView:(UITable...
  • qilixiang012
  • qilixiang012
  • 2014年11月07日 01:26
  • 663

android中如何自定义标题栏

首先,修改标题栏的宽度和背景,在strings.xml中添加: @drawable/title_bg 40dp @style/CustomWindowT...
  • TQUDING
  • TQUDING
  • 2012年05月10日 09:35
  • 6024

如何将Android中的标题栏自定义

在Android中,标题栏是默认的,但是有些时候我们想要将它变成我们想要的样子。 如何来改变标题栏的高度? 根据网上一些所说的,4.0系统很容易会出现一个自定义标题栏和其他标题栏冲突的错误,那么在...
  • tpdxxy
  • tpdxxy
  • 2016年09月22日 15:59
  • 594

html之一行代码给table设置标题...

关键代码:我是表格标题 效果截图如下: 主要代码如下: 我是表格标题  1 A TE 2 A TE 3 A TE 4 A TE 5 A TE...
  • friendan
  • friendan
  • 2012年05月14日 10:10
  • 38498

Jquery Datatables表头不对齐解决办法

我们用Datatables经常会遇到这种情况,就是浏览器或者HTML里元素改变大小或分辨率后,标题就会出现不对齐现象。...
  • BugsCode
  • BugsCode
  • 2016年12月02日 10:23
  • 7370
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何改变标题栏的宽度
举报原因:
原因补充:

(最多只允许输入30个字)