#857
|
||||
|
||||
Quote:
FireMonkey is a different story. while working with FireMonkey (FMX), especially when integrating with native components like WebView2, there're certain limitations due to how FMX and the underlying platform handle windows and rendering. FMX is designed to be cross-platform, with a focus on vector-based, hardware-accelerated graphics, while traditional controls like WebView2 rely on native Windows-specific window handles (HWND) to be embedded. to embed WebView2 within a FireMonkey form, we use 'FMXForm.Handle', which provides the necessary window handle (HWND) for WebView2 to render its content. this works because a form in FMX has an associated native window, and we can retrieve its handle. however, FMX objects like 'TRectangle', 'TPanel', and other 'TFMXObject' descendants don't have an underlying native window (HWND). they're drawn directly onto the GPU and managed by the FireMonkey rendering engine, which makes them platform-agnostic but without any native window handle. since WebView2 requires an actual window handle to render its content, it isn't possible to use a 'TFMXObject' like 'TRectangle' as the parent window for WebView2. in essence, FireMonkey objects and native components like WebView2 operate in fundamentally different ways. while you can embed WebView2 inside a FireMonkey form by setting the parent window to the form handle, using a 'TFMXObject' as a parent isn't feasible due to the lack of a native window handle in FireMonkey controls. not only the ones you mentioned, but i also want to add more. however, it isn’t possible due to compatibility limitations. . |
#858
|
||||
|
||||
FCustomMemo
Quote:
|
#859
|
||||
|
||||
auto-change the theme from dark to light in FCustomFluentWindow
Is it possible to auto-change the theme from dark to light in FCustomFluentWindow?
FMXInno - Auto Dark-Light Mode |
#860
|
||||
|
||||
Quote:
@audiofeel, i've provided two examples below: one uses regular Checkboxes, and the other uses CheckboxTree. you can use them as a reference. Note: i discovered unexpected behavior in MInI. it's a generic issue, not an error on my part. however, i applied a hotfix for it. you can download MInI and FMXInno [June-10] below. . |
The Following 8 Users Say Thank You to BLACKFIRE69 For This Useful Post: | ||
almjedgroup (23-08-2024), audiofeel (19-08-2024), Behnam2018 (20-08-2024), Gehrman (24-09-2024), hitman797 (20-08-2024), Jahan1373 (21-08-2024), Qirashi (14-09-2024), ScOOt3r (19-08-2024) |
#861
|
||||
|
||||
FMXInno - Updates
[ FMXInno Cumulative Update - 2024/Aug/28 ]
--- Changelog Code:
* Added Custom Blueprints: 1. 'FAdvancedMemo' 2. 'FAdvancedShape' 3. 'FAdvancedNotification' * Deprecated: - 'pWinNotification' has been removed. - The example 'Example_WinNotifications.iss' has been removed. * Enhancements: - Auto-Dark Mode: Added support for auto-dark mode in 'FCustomFluentWindow'. - Updated Components: - Updated all classes and custom blueprints. - Updated gradient color settings. - Updated 'MInI'. - Updated 'xBass' plugin to the latest version. - Updated 'WebView2' to the latest version. - Error Handling: Improved error handling and messages. - FMXInnoShutdown Function: Enhanced for a smoother exit. - FMXInnoShutDownUn: Now defined by default in 'FMXInnoHandle.iss'. You need to remove it from your scripts. * Fixes: - Fixed null pointer access errors. - Fixed runtime errors reported by users and discovered during debugging. - Fixed memory deallocation issues at exit. * Future Updates: - Advanced 3D objects and 3D animations are planned for future releases. * Miscellaneous: - Various other improvements and bug fixes. Advanced Notification: Quote:
Code:
procedure CsNotifyOnActivated(Sender: INotification; nArguments: WideString; nUserInput: INotificationUserInput); begin MemLog.Clear; if Sender = csNotification1.Handle then begin case nArguments of 'send' : MemLog.AddLine('* Send button clicked!'#13#10); 'ok' : MemLog.AddLine('* Ok button clicked!'#13#10); 'cancel' : MemLog.AddLine('* Cancel button clicked!'#13#10); '' : MemLog.AddLine('* Clicked on the content!'#13#10); else MemLog.AddLine('Args:'#9 + nArguments + #13#10); end; // Textbox input if csNotifyBuilder1.IsUserInputValueExist(nUserInput, 'txtbx_id1') then MemLog.AddLine('> Input Text:'#9#9'[' + csNotifyBuilder1.GetUserInputValueStr(nUserInput, 'txtbx_id1') + ']'); // Selectbox input if csNotifyBuilder1.IsUserInputValueExist(nUserInput, 'selbx_id1') then MemLog.AddLine('> Shutdown Timer:'#9'[' + csNotifyBuilder1.GetUserInputValueStr(nUserInput, 'selbx_id1') + ' Minutes]'); end; end; Code:
// Content csNotifyContent1.FCreate; //csNotifyContent1.Scenario(nsIncomingCall); csNotifyContent1.UseButtonStyle(True); // For Ok, Cancel button style. csNotifyContent1.Duration(ndLong); // Duration: [Short == 2 sec | Default == 5 sec | Long == 25 sec] csNotifyContent1.AddInputTextBox(csContentTextBox1.Handle); // Textbox csNotifyContent1.AddSelectionBox(csContentSelectBox1.Handle); // Selectbox csNotifyContent1.AddButton(csContentBtnSend.Handle); // Send Button csNotifyContent1.AddButton(csContentBtnCancel.Handle); // Cancel Button csNotifyContent1.AddButton(csContentBtnOk.Handle); // Ok Button csNotifyContent1.AddImage(csContentHeaderImage.Handle); // Header Image csNotifyContent1.AddImage(csContentAppImage.Handle); // App Image csNotifyContent1.AddText(csContentCaption1.Handle); // Caption csNotifyContent1.AddText(csContentDesc1.Handle); // Description csNotifyContent1.AddAudio(csContentAudio.Handle); // Audio // Notification csNotification1.FCreate(csNotifyContent1.Handle, csNotifyBuilder1.Handle); if not csNotification1.ParamIsValueExists('my_desc') then csNotification1.ParamSetValue('my_desc', sDesc); csNotification1.OnActivated(@CsNotifyOnActivated); // OnActivate csNotification1.OnDismissed(@CsNotifyOnDismissed); // OnDismissed csNotification1.OnFailed(@CsNotifyOnFailed); // OnFailed // Show Notification csNotifyBuilder1.ShowNotification(csNotification1.Handle); Advanced Shapes: Quote:
Code:
{ AdvancedShape } csShapeData := 'M 249.2615 123.1455' +#13#10+ 'c 18.9705 -33.9615 -4.257 -74.7495 -42.94 -78.602 l -14.116 -1.4065' +#13#10+ 'c -10.295 -1.0265 -19.491 -5.487 -27.1315 -14.064' +#13#10+ 'c -26.5925 -29.8475 -76.1095 -22.477 -92.41 13.382' +#13#10+ 'c -3.97 8.733 -11.149 15.719 -20.214 19.672 l -19.8865 8.67' +#13#10+ 'c -31.6995 13.82 -42.447 52.167 -22.424 79.5915 l 12.618 17.2815' +#13#10+ 'c 2.7405 3.754 4.741 7.9035 5.9465 12.333 l 6.266 23.0365' +#13#10+ 'c 8.5835 31.5575 44.3775 48.61 75.6205 35.3465 l 2.675 -1.1355' +#13#10+ 'c 7.9505 -3.3755 16.996 -4.1935 25.466 -2.308 l 41.024 9.1345' +#13#10+ 'c 39.9665 8.899 75.195 -25.787 66.27 -63.9125 l -5.192 -22.1755' +#13#10+ 'c -2.1015 -8.9765 -0.762 -18.39 3.772 -26.506 l 4.656 -8.3375 z'; csShape.FCreate(FMXForm.Handle); csShape.SetBounds(65, 80, 265, 260); csShape.Data_Str(csShapeData); csShape.Data_WrapMode(spwmOriginal); csShape.FillGradient($FF69EACB, $FF6654F1, gsLinear); The first post has been updated—check it out! . |
The Following 11 Users Say Thank You to BLACKFIRE69 For This Useful Post: | ||
audiofeel (27-08-2024), Behnam2018 (27-08-2024), Ele (27-08-2024), Fak Eid (28-08-2024), hitman797 (30-08-2024), Jahan1373 (28-08-2024), Lord.Freddy (27-08-2024), observer23232 (27-08-2024), ScOOt3r (27-08-2024), Tihiy_Don (29-08-2024), Wanterlude (11-09-2024) |
#862
|
|||
|
|||
Urgent Upgrades
When trying to create an .ini file for setting config of my installer using:
INI_Maker: FNewINI; INI_Maker.FCreate(ExpandConstant('{src}\Game\Insta ller.ini')); it is creating the file in UTF-8 with BOM which is messing with Inno Compiler and not producing the desired result. How can I have FNewINI to create the file in UTF-8 format. In case when the main section say [Execs] doesn't exists and we create the SubSection using FNewINI: Code:
INI_Maker.WriteSubString('Execs', 'AppExe'+IntToStr(j), 'Name', ExeEdit[i].GetText); INI_Maker.WriteSubString('Execs', 'AppExe'+IntToStr(j), 'Filepath', ExeEdit[i+1].GetText); INI_Maker.WriteSubString('Execs', 'AppExe'+IntToStr(j), 'Parameters', ExeEdit[i+2].GetText); Desired output should be: Code:
[Execs] [Execs\AppExe1] Name=Horizon Forbidden West Filepath=HorizonForbiddenWest.exe Parameters=--fullscreen Code:
[Execs\AppExe1] Name=Horizon Forbidden West Filepath=HorizonForbiddenWest.exe Parameters=--fullscreen No Mouse Actions like: OnMouseEnter, OnMouseLeave, OnClick are working |
#863
|
|||
|
|||
Quote:
|
The Following User Says Thank You to Tihiy_Don For This Useful Post: | ||
Qirashi (11-09-2024) |
#864
|
|||
|
|||
Please add methods:
onMouseEnter(Event: TNotifyEvent); procedure onMouseLeave(Event: TNotifyEvent); For the checkboxtree component (checkbox, radiobutton). Last edited by Tihiy_Don; 10-09-2024 at 22:10. |
The Following User Says Thank You to Tihiy_Don For This Useful Post: | ||
Qirashi (11-09-2024) |
#865
|
|||
|
|||
There is a problem with the RemoveObject2 method for FCombobox. It does not work properly and does not delete the specified element.
|
#866
|
||||
|
||||
Hi everyone
hi BLACKFIRE69, I want to remove all the button mods and leave them original anthem, browse, back, next, cancel and pause, can we do that? |
The Following User Says Thank You to Dario06 For This Useful Post: | ||
Behnam2018 (29-09-2024) |
#867
|
||||
|
||||
FMXInno - Update
FMXInno Quality Update - [October 27, 2024]
Code:
1. Updated `FNewINI` class and `MINI.exe` - Now reads and saves INI files in UTF-8 without BOM. 2. Updated `FCheckboxTree` class - Added new properties; you may need to adjust your current scripts. 3. Compatibility with the Latest Windows Version - Optimized for Windows 11 24H2. - Compiled in RadStudio 12.2 (latest update). 4. Font Functions for Windows 11 24H2 * The following functions are incompatible with 24H2: - `InstallFMXFont` - `InvalidateFMXFont` - `DeleteFMXFont` * Use these alternative functions: - `AddFontResource2` - `RemoveFontResource2` 5. New Color Picker App Added 6. General Improvements and Bug Fixes. - For Members - Code:
1. Source Code Reorganization - Now uses unit scope names. - Various units have been renamed for clarity. 2. The latest source code will be available in the coming days for members. . |
The Following 11 Users Say Thank You to BLACKFIRE69 For This Useful Post: | ||
#868
|
|||
|
|||
I had a question and a suggestion on "FCheckboxTree". I hope the difficulties of translation allow me to get my point across. When using FCheckboxTree, the logic of the Checkbox is slightly different than in the original inno setup. In the original, when selecting 1 of the components in the Checkbox tree, all those that are somehow related to the selected one are selected. I hope you understand me. In FMX, this is implemented a little differently. They are not always marked, which looks strange from the 1st side. It would be cool to see similar logic to the original inno setup. Even in FCheckboxTree, you cannot select and remove Radiobutton, they are in FCheckboxTree, but it is problematic to combine them with regular Checkboxes. |
The Following User Says Thank You to Qirashi For This Useful Post: | ||
Tihiy_Don (21-11-2024) |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Windows Fluent Effects Standalone API - InnoSetup / VCL / FXM | BLACKFIRE69 | Conversion Tutorials | 0 | 15-11-2023 18:35 |
Windows Phone Installer similar to razor12911's original design? | Kitsune1982 | Conversion Tutorials | 0 | 02-07-2020 14:04 |
INDEX - Conversion Tutorial Index | Razor12911 | Conversion Tutorials | 5 | 11-06-2020 03:05 |
Frequently Asked Questions | Joe Forster/STA | PC Games - Frequently Asked Questions | 0 | 29-11-2005 10:48 |