小编Vic*_*ria的帖子

如何为FireMonkey组件添加设计时图标?

我已经阅读了PawełGłowacki的这篇文章,我已经能够为我的组件显示一个图标.结果如下:

在此输入图像描述

我可以在工具选项板和结构视图中看到图像.顺便说一下,在设计器中我看到了默认图标:

在此输入图像描述

如何在设计器中显示组件的图标?


我正在使用Delphi Tokyo 10.2 Update 2.我已经按照我链接的文章来显示图像.我的组件如下:

type
  TEquationSolver = class(TComponent)
    //code...
  end;
Run Code Online (Sandbox Code Playgroud)

基本上,我做了以下事情:

  1. 我创建了3个位图(16x16 24x24 32x32)和一个png(128x128)
  2. 我已将它们作为资源添加到Project> Resources and Images中 在此输入图像描述
  3. TEquationSolver用后缀表示它们的大小.通过这种方式,它们可以正确显示在IDE上.

我在设计时间部分缺少什么?在文章中,我已经阅读以下内容:

我们的指南是:如果您想要非常简单的向后兼容性或小文件(BPL)大小,请使用PNG; 如果要快速加载,请使用位图.我们使用位图为16,24和32px图标,PNG用于128px图标.

实际上我有16x16,24x24,32x32位图和128px png.还有别的吗?

delphi firemonkey delphi-10.2-tokyo

6
推荐指数
1
解决办法
199
查看次数

当节点获得焦点时,哪个选项会影响TVirtualStringTree滚动到视图中?

我有一个TVirtualStringTree正在报告模式中使用.它有几列和一个垂直滚动条,工作正常,除了一件事.

当最后一个可见节点被聚焦并按下Down箭头键时,焦点将不在视图范围内,但树视图的内容不会按预期向上滚动.按下再次Up聚焦最后一条可见线.

在此输入图像描述

为什么会这样?我错过了哪个属性来检查/取消选中?

5
推荐指数
1
解决办法
795
查看次数

如何为表单的标题栏,系统菜单图标和最小化,最大化和关闭按钮设置自定义光标?

是否有Windows API为表单的标题栏,系统菜单图标和最小化,最大化和关闭按钮设置自定义光标?

我有一个加载和设置给定控件的游标的功能:

type

 TFrm_Main = class(TForm)
   ....
 private
  procedure SetCursor_For(AControl: TControl; ACursor_FileName: string;
    Const ACurIndex: Integer);
 ...
 end;
 const
   crOpenCursor = 1;
   crRotateCursor = 2;
   crCursor_Water = 3;

 var
   Frm_Main: TFrm_Main;
 ...
 procedure TFrm_Main.SetCursor_For(AControl: TControl; ACursor_FileName: 
  string; const ACurIndex: Integer);
 begin
   Screen.Cursors[ACurIndex] := Loadcursorfromfile(PWideChar(ACursor_FileName));
   AControl.Cursor := ACurIndex;
 end;
Run Code Online (Sandbox Code Playgroud)

而我正在以这种方式使用它:

SetCursor_For(Frm_Main, 'Cursors\Cursor_Rotate.ani', crRotateCursor);
Run Code Online (Sandbox Code Playgroud)

但我错过了为特定表单部分设置光标的方法,如表单标题栏,系统菜单图标和最小化,最大化和关闭按钮.有没有办法为这些表单部分设置游标?

delphi winapi vcl

2
推荐指数
1
解决办法
198
查看次数

Delphi FDQuery选择没有列名的行

我在表单上有一些代码,它从数据库中的列名创建一堆标签

我正在尝试编写另一段代码,使用FDQuery选择所有记录,然后根据每行中的值创建标签

目前我有以下内容.

  while not FDQuery1.Eof do
  begin
    while recordCount < colTotal do
    begin
      newLabel := TLabel.Create(Self);
      newLabel.Parent := panel3;
      newLabel.Align := TAlignLayout.Top;
      newLabel.Text := FDQuery1.FieldByName('Torque2').AsString;
      newLabel.Margins.Top := 10;
      newLabel.Margins.Left := 10;
      newLabel.Margins.Right := 10;
      inc(recordCount);
      FDQuery1.Next;
    end;
  end;
Run Code Online (Sandbox Code Playgroud)

我如何能够动态地创建一个带有每行结果的标签,而不需要像我这里那样实际放置像"torque2"这样的列名.

因此,例如在我的表单上,标签将创建如下

row1 
row2 
row3
row4
row5 
Run Code Online (Sandbox Code Playgroud)

因为现在这段代码只是简单地循环一行值

谢谢

delphi sqlite firemonkey firedac

1
推荐指数
1
解决办法
441
查看次数

标签 统计

delphi ×3

firemonkey ×2

delphi-10.2-tokyo ×1

firedac ×1

sqlite ×1

vcl ×1

winapi ×1