我需要标记一个TBitBtn(不是TButton),按钮动作需要提升。我设置ElevationRequired为 True,但我没有得到盾牌图标。
要复制,请将 aTButton和 aTBitBtn放在表单上:
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.ElevationRequired := True;
BitBtn1.ElevationRequired := True;
end;
Run Code Online (Sandbox Code Playgroud)
Button1显示有盾牌图标,BitBtn1不是。
And*_*and 12
这不可能。
VCLTBitBtn是所有者绘制的Win32 BUTTON控件。你可以在这里看到:
procedure TBitBtn.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do Style := Style or BS_OWNERDRAW;
end;
Run Code Online (Sandbox Code Playgroud)
因此,TBitBtn在没有通过Windows,但手动在Pascal代码中抽取Vcl.Buttons.pas。具体来说,TBitBtn.DrawItem(const DrawItemStruct: TDrawItemStruct)做这幅画。
在这里你可以看到没有提到ElevationRequired.
因此,TBitBtn不支持这个。
一般来说,不要使用TBitBtn; 用于TButton获取本机 Win32 按钮。
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |