早上好家伙!
我目前正在尝试使用XE3,我对使用它构建视频(和普通媒体)播放器感兴趣FM2.我正面临一个关于视频比例的问题,或者更确切地说,看起来完全缺乏对它的支持.
我在表格中添加了一个TMediaPlayer和一个TMediaPlayerControl并将它们连接起来.然后我添加了一个具有简单播放/停止功能的按钮,另一个用于加载视频文件.但是,每个播放的视频都以其实际分辨率进行(尽管对齐设置为alClient).我尽可能地通过文档和源代码看,我似乎无法找到任何缩放或重新调整实际视频区域的方法.该唯一的例外是,如果我调整实际窗口比视频区域,此时它会缩小,同时保持纵横比.
另外请注意,视频区域显示在所有标准控件上方,无论它是否为"已发送回".
至少,我很欣赏使用新的FM²/ Firemonkey2 XE3媒体组件调整视频区域大小或缩放的任何输入.目前是否可能,或者我们是否会等待补丁来改进实施?
我想创建一个我TSprite在运行时调用的记录.
TSprite 是我正在构建的关卡编辑器中使用的图像和8个选择点.
type
TSprite = record
Image: TImage;
Selection: TSelection;
SelectionPointTL: TSelectionPoint; // top-left
SelectionPointTM: TSelectionPoint; // top-middle
SelectionPointTR: TSelectionPoint; // top-right
SelectionPointML: TSelectionPoint; // middle-left
SelectionPointMR: TSelectionPoint; // middle-right
SelectionPointBL: TSelectionPoint; // bottom-left
SelectionPointBM: TSelectionPoint; // bottom-middle
SelectionPointBR: TSelectionPoint; // bottom-right
end;
Run Code Online (Sandbox Code Playgroud)
现在我想将它存储在一个数组中.
arrSprites: array[0..1000] of TSprite;
Run Code Online (Sandbox Code Playgroud)
而现在的创作(我努力的部分)
这是我到目前为止:
arrSprites[i].Image.Position.X := frmMainUI.CurrentMouseX;
arrSprites[i].Image.Position.Y := frmMainUI.CurrentMouseY;
arrSprites[i].Image.Bitmap.LoadFromFile('1.png');
arrSprites[i].Image.Visible := True;
arrSprites[i].Image.WrapMode := TImageWrapMode.iwStretch;
Run Code Online (Sandbox Code Playgroud)
那么这段代码应该做的是在一个名为fsbcanvas的滚动框内创建一个带有选择的图像.
为了清楚我要求创建一个实例的代码TSprite.
谢谢
我正在尝试确定按钮的OnKeyDown中按下的键(FMX,XE3),但我目前发现自己无法区分小键盘键和常规键...
根据我按下的键,我可以使用Key或KeyChar找出已按下的键.例如,按下F1发送112和#0,这样我就可以使用VkCode,按下A发送0和'a',这样我就可以使用'a'.KeyChar在很多情况下都是#0显然是有意义的,但是如果KeyChar存在,我无法理解为什么Key被设置为0.
function GetCharFromVirtualKey(Key: Word): string;
var Buffer: array[0..255] of Char;
ScanCode: Cardinal;
begin
if Key = VK_PAUSE
then ScanCode := $45 shl 16
else ScanCode := MapVirtualKey(Key, 0) shl 16;
if Key in [33..46, 91..93, 108, 111, 144, 163, 165]
then ScanCode := ScanCode + $1000000;
GetKeyNameText(ScanCode, Buffer, SizeOf(Buffer));
result := Buffer;
end;
procedure TMyForm.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
var test: string;
begin
if (KeyChar <> #0) then Key := …Run Code Online (Sandbox Code Playgroud) 我正在使用Delphi XE7开发移动应用程序.我正在使用TIdtcpClient组件与Server应用程序进行交互.我需要知道Android移动和iO移动应用程序,我可以一次发送到服务器的最大数据大小是多少.或者它取决于互联网的速度.请帮帮我
我有一个Firemonkey XE7安卓应用程序,它在Android 4.x上运行完美
但是我在Android 5上测试了它并且它打开了但是一段时间后它关闭了.
程序中唯一能做的就是一个简单ShowMessage();的文件.
我使用了这样的文件地址:
filePath := System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim;
Run Code Online (Sandbox Code Playgroud)
问题是我的文件路径ShowMessage()还是什么?
我有一个ScrollBox对象,我在其中插入了一些对象:align:= TalignLayout.Bottom和parent:= scrollbox,对象插入成功,但滚动框不滚动或显示ScrollBars,任何类型的帮助将非常感激谢谢你的关心
我成功发送消息跨应用程序.但是代码在FMX中不起作用.我可以找到FMX表单,但在dest没有收到消息.
发件人代码:
CDS.dwData:= 0; //Identify message
CDS.cbData:= ByteLength(Str);
CDS.lpData:= PChar(Str);
if DstHandle=0 then
DstHandle := Winapi.Windows.FindWindow(nil, PChar(TargetFormCaption));
if DstHandle<>0 then
begin
Res := SendMessage(DstHandle, WM_COPYDATA, Handle, NativeInt(@CDS));
Result:= True;
end
else
Result:= False;
Run Code Online (Sandbox Code Playgroud)
结果为true但未WMGetData触发.接收者代码:
procedure WMGetData(var Msg : TWMCopyData) ; message WM_COPYDATA;
...
procedure TForm3.WMGetData(var Msg: TWMCopyData);
begin
Caption:= 'Got something !';
end;
Run Code Online (Sandbox Code Playgroud) 使用Firemonkey(柏林更新2)是否可以在TButton上使用TShadowEffect和TGlowEffect一起工作?
要获得暗影效果,我需要禁用发光效果.
在Delphi中,我将图像资源添加到项目中(通过项目>资源和图像),但是我需要一个java函数来在应用程序的drawable包中提供资源ID.是否可以从我的delphi资源文件或名称中检索资源ID(整数)?
如果没有,我们如何在delphi中添加自定义资源图像并检索它的资源ID?
我正在开发一个新的FMX项目,我需要使用TFlowLayout.
当前项目没有更多空间.我决定使用TVertScrollBox,但它没有使用它.
有没有办法使用垂直滚动TFlowLayout?