delphi 获取/设置桌面窗口样式的Delphi代码


本文整理自网络,侵删。

 
var
  hWin: HWND;
  lStyle : LongInt;
  lExStyle : LongInt;
begin
  hWin := 65632; // $00010060
  // 获取和设置该窗口的样式
  lStyle := GetWindowLong(hWin, GWL_STYLE);
  SetWindowLong(hWin, GWL_STYLE, lStyle);
  // 获取和设置该窗口的扩展样式
  lExStyle := GetWindowLong(hWin, GWL_EXSTYLE);
  SetWindowLong(hWin, GWL_EXSTYLE, lExStyle);
end;

/* 窗口样式参考列表:
WS_POPUP - 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用)
WS_CHILDWINDOW - 子窗口(不能与WS_POPUP合用)
WS_MINIMIZE - 最小化状态
WS_VISIBLE - 可见状态
WS_DISABLED - 不可用状态
WS_CLIPSIBLINGS - 使窗口排除子窗口之间的相对区域
WS_CLIPCHILDREN - 当在父窗口内绘图时,排除子窗口区域
WS_MAXIMIZE - 具有最大化按钮,须指定WS_SYSTEM样式
WS_CAPTION - 有标题框和边框(和WS_TILED样式相同)
WS_BORDER - 有单边框
WS_DLGFRAME - 带对话框边框样式,不带标题框
WS_VSCROLL - 有垂直滚动条
WS_HSCROLL - 有水平滚动条
WS_SYSMENU - 标题框上带有窗口菜单(须指定WS_CAPTION样式)
WS_THICKFRAME - 有可调边框(与WS_SIZEBOX样式相同)
WS_GROUP - 组样式,每个组的第一个控件具有WS_TABSTOP样式
WS_TABSTOP - 可接受TAB键焦点
WS_MINIMIZEBOX - 有最小化按钮
WS_MAXIMIZEBOX - 有最大化按钮
WS_OVERLAPPEDWINDOW - 具有层叠,标题框,系统菜单,可调边框,系统按钮
WS_POPUPWINDOW - 具有单边框,弹出式,系统菜单样式
*/

/* 窗口扩展样式参考列表:
WS_EX_DLGMODALFRAME - 带双层边框
WS_EX_NOPARENTNOTIFY - 创建/销毁时不通知父窗口
WS_EX_TOPMOST - 窗口置顶(停留在所有非最高层窗口的上面)
WS_EX_ACCEPTFILES - 可接受文件拖放
WS_EX_TRANSPARENT - 透明样式,在同属窗口已重画时该窗口才可重画
WS_EX_MDICHILD - MDI子窗口样式
WS_EX_TOOLWINDOW - 工具条窗口样式
WS_EX_WINDOWEDGE - 带凸起边缘的边框
WS_EX_CLIENTEDGE - 带阴影的边缘
WS_EX_CONTEXTHELP - 有上下文帮助样式,标题栏包含一个问号标志
WS_EX_RIGHT - 右对齐
WS_EX_RTLREADING - 窗口文本从右到左显示
WS_EX_LEFTSCROLLBAR - 垂直滚动条在窗口左边界
WS_EX_CONTROLPARENT - 允许用户使用TAB键在窗口的子窗口间搜索
WS_EX_STATICEDGE - 当窗口为不可用状态时创建一个三维边缘
WS_EX_APPWINDOW - 当窗口可见时将一个顶层窗口放置在任务栏上
WS_EX_OVERLAPPEDWINDOW - 带凸起边缘的边框,边缘有阴影
WS_EX_PALETTEWINDOW - 带立体边框,有工具条窗口样式,窗口在顶层
WS_EX_LAYERED - 分层或透明窗口,该样式可使用混合特效
WS_EX_NOINHERITLAYOUT - 子控件不继承窗体或控件的布局
WS_EX_LAYOUTRTL - 窗体或控件将具有从右向左的布局(因而会被镜像)
WS_EX_COMPOSITED - 用双缓冲从下到上绘制窗口的所有子孙(WinXP以上)
WS_EX_NOACTIVATE - 处于顶层但不激活
*/

/* 控件样式参考列表:
LVS_ICON - 大图标
LVS_REPORT - 详细资料
LVS_SMALLICON - 小图标
LVS_LIST - 列表
LVS_SINGLESEL - 只能单选
LVS_SHOWSELALWAYS - 始终显示所选中项(包括失去焦点时)
LVS_SORTASCENDING - 按升序排序
LVS_SORTDESCENDING - 按降序排序
LVS_SHAREIMAGELISTS - 共享图像列表(当控件销毁时图像列表仍可用)
LVS_NOLABELWRAP - 文字不换行
LVS_AUTOARRANGE - 自动排列
LVS_EDITLABELS - 允许编辑标签(类似资源管理器的文件更名)
LVS_OWNERDATA - 指定一个虚拟的ListView, 由用户自己管理Item数据
LVS_NOSCROLL - 禁止滚动条(对LVS_LIST和LVS_REPORT样式不适用)
LVS_ALIGNTOP - 顶端对齐
LVS_ALIGNLEFT - 左对齐
LVS_OWNERDRAWFIXED - 允许自画(仅详细资料模式)
LVS_NOCOLUMNHEADER - 详细资料模式时不显示列头
LVS_NOSORTHEADER - 列头显示为平面,不响应鼠标点击(详细资料模式)
LVS_EX_GRIDLINES - 显示表格线(仅详细资料模式)
LVS_EX_SUBITEMIMAGES - 允许子项目显示图像(仅详细资料模式)
LVS_EX_CHECKBOXES - 在各项目前面显示复选框
LVS_EX_TRACKSELECT - 允许热点选择
LVS_EX_HEADERDRAGDROP - 允许通过拖放列头来重新安排各列(详细资料模式)
LVS_EX_FULLROWSELECT - 允许选择整行(仅详细资料模式)
LVS_EX_ONECLICKACTIVATE - 单击项目激活
LVS_EX_TWOCLICKACTIVATE - 双击项目激活
LVS_EX_FLATSB - 平面滚动条
LVS_EX_REGIONAL - 项目范围只包括图标不透明区域和文字区域(大图标模式)
LVS_EX_INFOTIP - 将提示信息窗口的消息通知父窗口
LVS_EX_UNDERLINEHOT - 带热点的项目文字带下划线
LVS_EX_UNDERLINECOLD - 非热点的项目文字带下划线
LVS_EX_MULTIWORKAREAS - 多个工作区(需在没有添加项目前设置)
LVS_EX_LABELTIP - 如果没有提示信息文本就展开隐藏的标签
LVS_EX_BORDERSELECT - 用选择边框的样式代替高亮
LVS_EX_DOUBLEBUFFER - 双缓冲(WinXP以上)
LVS_EX_HIDELABELS - 隐藏标签(WinXP以上)
LVS_EX_SINGLEROW - 显示单行(WinXP以上)
LVS_EX_SNAPTOGRID - 图标自动对齐到表格(WinXP以上)
LVS_EX_SIMPLESELECT - (WinXP以上)
*/

相关阅读 >>

Delphi xe7 ios 取得系统字型名称

Delphi d10.x 安卓app开发中按返回键后程序不退出程序的方法

Delphi 获取鼠标当前位置的相对坐标

Delphi文件管理类函数

Delphi 2009 之 tcategorypanelgroup[3]: color

Delphi 截图程序方法

Delphi 调用viewer-windows10 图像浏览器

Delphi 对image字段存取图片、文件

Delphi treeview �c 自动给标题上加图片

Delphi(更改图标)

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...