Delphi 如何得到窗口BorderIcon
时间: 2024-12-10 21:52:01 浏览: 8
在Delphi中,如果你想获取窗口的边框图标(Border Icon),你可以通过访问`TForm`对象的`BorderStyle`属性以及相关的`Get*Icon`方法。`BorderStyle`枚举包含了窗口的各种边界风格,其中`bsSystemMenu`和`bsMaximizeBox`等风格可能会有边框图标。
例如:
```pascal
var
Form: TForm;
begin
// 获取当前焦点的Form
if Application.MainForm <> nil then
begin
Form := Application.MainForm;
// 如果窗体有系统菜单,则可以获取边框图标
if (Form.BorderStyle in [bsDialog, bsSystemMenu, bsToolWindow]) and
Assigned(Form.Icon) then
begin
// 使用Icon数组索引来获取边框图标,注意索引从0开始
var BorderIconHandle: HICON;
if Form.FormBorderStyle = bsSystemMenu then
BorderIconHandle := Form.SysMenu.Icon.Handle; // 对于bsSystemMenu
else if Form.BorderStyle = bsMaximizeBox then
BorderIconHandle := Form.MaxButton.Icon.Handle; // 对于bsMaximizeBox
// 这里可以对HICON进行操作,如显示、保存等
// 注意释放资源,如果直接使用,记得Later释放
// DrawIcon(HandleOf(Application.MainForm), Point(0, 0), BorderIconHandle);
end;
end;
end;
```
阅读全文