Jump to content

Carlo Barazzetta

Members
  • Content Count

    48
  • Joined

  • Last visited

  • Days Won

    9

Carlo Barazzetta last won the day on March 9

Carlo Barazzetta had the most liked content!

Community Reputation

112 Excellent

About Carlo Barazzetta

  • Birthday 02/12/1968

Technical Information

  • Delphi-Version
    Delphi 11 Alexandria

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Thanks to Ethea S.r.l. who commissioned Luca Minuti to write a Delphi implementation of SAML protocols/libraries and make it available Open-Source to the entire Delphi community. The project has now been completed also for the 64-bit platform as well. The project is available on Git-Hub at this address: https://github.com/EtheaDev/Delphi-SAML
  2. Carlo Barazzetta

    Shell Controls: losts... and found!

    A HIDDEN GEM IN DELPHI SOURCES (SHELLCONTROLS) Many times I intercept requests on the WEB from Delphi developers for components of the Windows "Shell" (similar to Windows Explorer) that were once present in Delphi (maybe in Delphi XE3), which have "disappeared" from the Delphi components palette. Those components are: - TShellComboBox - TShellListView - TShellTreeView - TShellChangeNotifier The good news is that those components are still there and have also been updated over time, but the packages are missing and are therefore not installed "by default" in the Delphi IDE 🙁 So we have prepared a Repo on Git-Hub containing the packages of these components, to facilitate their installation in the Delphi IDE and therefore their use. The prepared packages are for different versions of Delphi, starting from Delphi XE6 up to Delphi 12 and are available here: https://github.com/EtheaDev/DelphiShellControlsPackages In the same repository there is also a small Demo that shows the components "in action", also reconstructed from a demo present only for C++ and transformed in Delphi Pascal. bye Carlo
  3. Carlo Barazzetta

    Searching Edit component with autocomplete for Directory/Files

    I've some problems using dzlib with Delphi11: 1) An AV inside TEnumStringFiles.Next 2) don't compile with 64bit platform Is this version the latest? https://sourceforge.net/projects/dzlib/ Thanks. Carlo
  4. Carlo Barazzetta

    Searching Edit component with autocomplete for Directory/Files

    Thank you very much!
  5. I'm searching for an "autocomplete editing" component (showing a list of possibilities) of available directories/filenames based on typed text, for an OpenSource project, so I need an OpenSource component that makes this work... Any suggestion? Thanks. Carlo
  6. If you need an integration for MarkDown files into Delphi apps, you can find some interesting open-source projects that I'm working on. MarkDownHelpViewer Project The MarkDownHelpViewer, is an Open-Source project to provide a Delphi-integrated help system using markdown files for online "help" creation. The project includes a ready Viewer with its setup to be installed on the user's machine (in practice the equivalent of hh.exe for the help in .chm format (see image) and an "interface" file to add to your own application that hooks the viewer to the "HelpContext" or "HelpKeyword" set on the Delphi components. Besides this also a component that can be used internally to the Delphi application to display help files. Here is the link to the project: https://github.com/EtheaDev/MarkdownHelpViewer This is a "Preview" of the viewer showing the help from the "wiki" of the InstantObjects project: There's also a small demo in the project that explains how to integrate the help with your Delphi application, including the ability to use a MarkDownViewer component right inside your application: The MarkDownShellExtensions Project In addition to the viewer, I recommend to use the MarkDown file editor, which comes with my other project available here: https://github.com/EtheaDev/MarkdownShellExtensions with which it is possible to edit the MarkDown files and immediately see the preview of the final result: Combining the two projects you will be able to offer your Delphi applications a fully integrated and easy to maintain Help system for the end user: when you need to update the images of your application because the GUI has changed, it will be sufficient to update the image on disk and update the associated markdown file, without the need for further updates, in order to always have the help updated to the latest release. Furthermore, the MarkDown format allows it to be easily published (for example as a "wiki" on Git-Hub) and is easily maintainable because it can be subjected to version-control. Those two projects are based on other Open-source projects, like: 1: SVGIconImageList: https://github.com/EtheaDev/SVGIconImageList 2: HtmlViewer: https://github.com/BerndGabriel/HtmlViewer) 2: SynEdit: https://github.com/SynEdit/SynEdit 3: VCLStyleUtils: https://github.com/RRUZ/vcl-styles-utils 4: Delphi-Markdown: https://github.com/grahamegrieve/delphi-markdown
  7. Carlo Barazzetta

    Conversion between Markdown and HTML

    Here you can see a full project to convert MarkDown to HTML (but not the inverse process): https://github.com/EtheaDev/MarkdownShellExtensions
  8. Carlo Barazzetta

    custom fonts and sizes showmessage()

    In my recent project, you can find a fully customizable TaskDialog (StyledTaskDialog): https://github.com/EtheaDev/StyledComponents
  9. Carlo Barazzetta

    StyledButton and StyledDialog

    After the preview at IT-DevCon 2022 in Rome, I'ts time to release a new Open-Source project for Delphi-VCL, which will surely help to modernize "legacy" applications (support up to Delphi XE6 version). StyledButton is a completely customizable VCL "button": thanks to its versatility it is possible to use it in multiple ways, like a classic Delphi button, but with the freedom to define the border, color, aspect (rectangular, circular, squared), or as an "Icon" or "FAB", but above all it is simple to configure thanks to the many templates that "mimic" the behavior of the Bootstrap and Angular buttons, for example... StyledTaskDialog offers the possibility to completely customize the messages of your app, completely replacing the system TaskDialog, and also providing support for animations (using Skia4Delphi of course). With handy demos and examples showing most of the features... please click on the "star" if you like the project! github.com/EtheaDev/StyledComponents Any suggestions or requests for improvements are always welcome!
  10. Carlo Barazzetta

    Looking for SVG support in Delphi?

    News on the latest versions of SVGIconImageList components: The library now also supports the SKIA4Delphi SVG engine, but Image32 remains the best library for SVG rendering for complex files, as you can see in SVGViewerDemo. Cairo support has been removed.
  11. Carlo Barazzetta

    Looking for SVG support in Delphi?

    In the last version, 3.9.1 on GitHub Repo (https://github.com/EtheaDev/SVGIconImageList), I've added support for Delphi 10 Seattle (only VCL).
  12. Carlo Barazzetta

    Delphi compatibility with Windows 11?

    At the moment I've resolved in this way the bad painting of DbGrid: procedure TForm1.DbGridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var LDbGrid: TDbGrid; begin LDbGrid := Sender as TDbGrid; //Resolve bad painting of selected cell in Windows 11 if not StyleServices.Enabled or (StyleServices.IsSystemStyle) then begin if ((gdSelected in State) and (gdFocused in State)) or ((gdSelected in State) and (dgRowSelect in LDbGrid.Options) and LDbGrid.Focused) then LDbGrid.Canvas.Brush.Color := clHighlight; LDbGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end;
  13. Carlo Barazzetta

    Delphi compatibility with Windows 11?

    Typically, any Delphi app runs smoothly on Windows 11 (I've been using W11 since June). Using an application with native Windows Style, the main differences I found are visible in this form: The window and even the menu have rounded corners The menuitem selected has rounded corners and a smaller area of drawing The major problem is visible in the selected cell of a DbGrid: a strange rectangular and a rounded focused box: very bad to see. If an edit has Ctl3D it works like default in W11: only the bottom border is visible (and colored): when the input receive focus the bottom border gets thicker Selected RadioGroup has a colored border instead of a dot inside. Scrollbars are thiny and enlarged when focused. Buttons are rounded Using a Styled app, all of those problem disappear, but it would be useful to have styles that look like Windows 11, just as Windows 10 styles were created (I hope in the next Delphi 11 release).
  14. Carlo Barazzetta

    Looking for Icon Fonts support in Delphi for High-DPI and Themed app?

    I didn't understand what you mean... I am using "fonts of icons" to draw bitmaps in an ImageCollection / ImageList, to get scaled images for any DPI... I am using GDI + for best performance and transparency support ... If the font is already installed in the system it works fine, the problem is only when deploying an application without installing the font during setup: only in this case the application must load and add the font at startup, before use it to draw bitmaps, but I don't know why I need to add a sleep 😞
  15. Carlo Barazzetta

    Looking for Icon Fonts support in Delphi for High-DPI and Themed app?

    After several attempts we found these problems: 1) after calling AddFontResource and notified in windows that a font has been added calling SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); the application hangs for several seconds waiting for all processes to respond to the message... 😞 Using PostMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); instead of SendMessage does not hang. https://social.msdn.microsoft.com/Forums/en-US/6900f74f-6ece-47da-88fc-f9c8bcd40206/sendmessage-api-slow?forum=wpf 2) In any case the imagelist does not draw icons correctly when it is using GDI+: only by adding a sleep (500) you get the correct drawing of the icons. It seems that calling AddFontResource does not immediately update the list of fonts available to GDI+ For now the solution is to "wait" 500 millisecond at startup application after adding font loaded from disk: AddFontResource(PWideChar(FFontFileName)); PostMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); //Wait for Font available on GDI+ collection for drawing... Sleep(500); But is not an elegant solution... Any idea? Another article with similar problem: https://www.vbforums.com/showthread.php?883637-GDI-problems-with-GdipCreateFontFamilyFromName
×