标签: firemonkey

FireMonkey:如何禁止默认弹出菜单

我在FireMonkey表单上有一个带有关联TPopupMenu的TMemo.

当我右键单击备忘录时,我得到了自己的弹出菜单,但是在我的弹出窗口消失之后,我仍然得到默认弹出窗口(即剪切,复制,粘贴,全选).

如何禁用默认菜单,或者我可以将自己的项目添加到默认菜单中?

delphi popup firemonkey

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

转换为firemonkey

什么变成了

TStatusBar.Simpletext

将程序从VCL转换为firmonkey时的属性?

delphi firemonkey

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

如何通过代码在delphi中设置Timage包装模式?

(使用firemonkey和xe3).嗨,我创建一个img.

  img := Timage.Create(fsbCanvas);
  with img do
    begin
      Parent:=fsbCanvas;
      position.X:=frmMainUI.CurrentMouseX;
      position.y:=frmMainUI.CurrentMouseY;
      Bitmap.LoadFromFile('1.jpg');
      Visible:=true;
    end;
Run Code Online (Sandbox Code Playgroud)

现在我想将其wrapmode设置为iwStreach.所以我添加这个: Timagewrapmode.iwStreach但我得到一个错误说"语句预期但发现表达".

有人可以帮忙吗?

delphi firemonkey

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

在Firemonkey中移动无边框表单

在VCL表单中我使用WM_SYSCOMMAND,但在firemonkey中它是未声明的.

我测试这段代码:

procedure TForm4.dragPanelMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Single);
begin
  isDraging := true;
  X0 := X;
  Y0 := Y;
end;

procedure TForm4.dragPanelMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Single);
begin
  if isDraging then
  begin
    Form4.Left := Trunc(Form4.Left + X - X0);
    Form4.Top := Trunc(Form4.Top + Y - Y0);
  end;
end;

procedure TForm4.dragPanelMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Single);
begin
  isDraging := False;
end;
Run Code Online (Sandbox Code Playgroud)

这是有效的,但只是为了缓慢的移动!

如何在Firemonkey中移动表单?

delphi firemonkey delphi-xe3

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

在FireMonkey中创建图像按钮

适用于XE6,Firemonkey

我通过在firemonkey中自定义TSpeedButton来创建一个带有图像的按钮.我这样做是通过在样式编辑器中向TSpeedButton添加图像.新按钮工作正常.我现在想制作另一个图像按钮,所以我想我会复制并粘贴表格上的第一个按钮.我更改了复制按钮中的图像(通过样式编辑器),当我点击应用并关闭时,新按钮获取新图像.但是我也注意到我复制的原始按钮也获得了新图像.所以现在我有两个具有相同图像的按钮.除了创建一个全新的按钮并添加一个新图像(这允许我使用具有独特图像的按钮)之外,有没有办法使用复制/粘贴创建具有自己样式的按钮?

我注意到这个问题与如何编辑样式设计器之外的FireMonkey样式中的控件有关但在这里我想做同样的事情,但是从IDE,而不是以编程方式.

delphi firemonkey

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

FMX:用背景色填充整个位图

我想创建一个TImage组件,并用背景色填充图像。但是我的代码比我预期的要长。

  1. 我必须设置位图的宽度和高度。
  2. 我必须计算整个位图画布的矩形。

如果我没记错的话,在旧的Delphi版本中,我可以用FloodFill特定的颜色填充整个图像。所以我想我确实错过了一些事情。

有人可以弄清楚如何用更简单的代码填充背景色吗?

Image := TImage.Create(nil);
Image.Position.X := 100;
Image.Position.Y := 100;
Image.Width := 500;
Image.Height := 500;
Image.Bitmap.Width := Trunc(Image.Width);
Image.Bitmap.Height := Trunc(Image.Height);
with Image.Bitmap.Canvas do
begin
  BeginScene;
  try
    Fill.Color := TAlphaColors.Black;
    FillRect(RectF(0, 0, Image.Bitmap.Width, Image.Bitmap.Height), 0, 0, [], 1.0);
  finally
    EndScene;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi canvas bitmap graphic firemonkey

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

如何以编程方式设置自定义TAlphaColor?

这基本上是我以colors编程方式归属的方式Delphi

label.FontColor      := TAlphaColors.Yellow;
Run Code Online (Sandbox Code Playgroud)

如果我想要一个自定义颜色#FF1C90EF怎么办?

如何以编程方式设置它?

delphi colors firemonkey

0
推荐指数
2
解决办法
6749
查看次数

MessageDlg,带有Delphi FireMonkey中的自定义按钮标题

使用VCL,您可以使用CreateMessageDialog自定义按钮标题生成消息对话框.

随着FMX CreateMessageDialog似乎不再存在(自XE3以来).

除了从头开始重建消息对话框之外,有没有办法使用FireMonkey自定义按钮标题?

我希望能够调用这里描述的函数:

MessageDlg(
    'Really quit application ?', mtWarning,
    [ButtonInfo(mbNo, 'Do&n''t save'), 
     ButtonInfo(mbCancel, '&Cancel'),
     ButtonInfo(mbYes,'&Save')],
    mbYes
  );
Run Code Online (Sandbox Code Playgroud)

delphi firemonkey delphi-xe4

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

创建自己的Splashscreen Delphi 10西雅图

而不是通过项目选项使用png图像为splashscreen我想使用我自己的表格用于启动画面.

我在以下链接中找到了XE2的解决方案,但它对Delphi 10 Seattle不起作用:https://stackoverflow.com/a/9080804/2728408

下面我有一些我在项目中尝试过的例子.dpr:

例1:

program Project2;

uses
  FMX.Forms,
  System.SysUtils,
  Unit1 in 'Unit1.pas' {MainForm},
  Unit2 in 'Unit2.pas' {SplashForm};

{$R *.res}

begin
  Application.Initialize;
  SplashForm := TSplashForm.Create(nil);
  SplashForm.Show;
  Application.ProcessMessages;
  Sleep(1000);   // Whatever to control display time of splash screen

  Application.CreateForm(TMainForm, MainForm);
  SplashForm.Close;
  SplashForm.Free;
  Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)

例2:

program Project2;

uses
  FMX.Forms,
  System.SysUtils,
  Unit1 in 'Unit1.pas' {MainForm},
  Unit2 in 'Unit2.pas' {SplashForm};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TSplashForm, SplashForm);
  Application.Run;
  Sleep(1000);
  Application.Terminate;// Also tried Application.Destroy
  Application.Initialize;
  Application.CreateForm(TMainForm, MainForm);
  Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)

例3:

program …
Run Code Online (Sandbox Code Playgroud)

delphi mobile splash-screen firemonkey delphi-10-seattle

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

如何在FMX TabControl中隐藏点?

我不想在TabControl界面中显示点,当我更改TabControl,TabPosition:Dots的属性时......我只想用手势来处理它.

delphi tabcontrol firemonkey

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