Home‎ > ‎My Notebook‎ > ‎Dev Notes‎ > ‎

Tnt Unicode Controls for Delphi

TMS Unicode Component Pack - duplicates most functionality of the Delphi 6+ VCL in Unicode.
Using: Build: v1.7.0.3 (Mar 11, 2009)
  • Q. Why do the events in TtntListView and TtntTreeView all use the ANSI items?
  • A. You need to cast. So an event that delivers item: TListItem
    needs to be caste like so ....  TtntListItem(item).Caption := MyUnicodeString.
    And events with param node: TTreeNode .. need TTntTreeNode(node) to access Unicode data.
    ------------------------------------------------------------------------------------------------------------
  • Q. Why aren't my Form Titles aren't Unicode?
  • A. Change the class declaration from TMyClassName = class(TForm)
    to TMyClassName = class(TtntForm)
    ------------------------------------------------------------------------------------------------------------
  • Q. Is there an easy way to convert a form to TNT Unicode controls?
  • A. Yes. Open the form; Hit Alt+F12 to edit the form as text; Change TMainMenu etc to TtntMainMenu.
    Hit Alt+F12 to flib back to normal GUI mode. Now make exactly the same code to the .Pas code.
    ------------------------------------------------------------------------------------------------------------
  • Q. How do I get my tool tips to be Unicode?
  • A. You need to enable the TNT environment. To do this call " tntForms.InitTntEnvironment();".
    I do this in the Initialization section of my Main Form.
    ------------------------------------------------------------------------------------------------------------
  • Q. My TTntTreeView wont show Unicode Strings.
  • A. Make sure the form property form.ParentFont= is set TRUE (and of course the TreeView and all it's parent controls).
    ------------------------------------------------------------------------------------------------------------
  • Q. TTntListView wont display when the form is resized (Probably since installing Windows 7 SP1).
  • A. In Report view try NOT setting the column widths to AutoSize=true

    This would also fix it... On FormResize event toggle the the Column.AutoSize Off/On

          if ListView1.Columns[ListView1.Columns.Count-1].AutoSize then
          begin
            ListView1.Columns[ListView1.Columns.Count-1].AutoSize := false;
            ListView1.Columns[ListView1.Columns.Count-1].AutoSize := true;
          end;
    ------------------------------------------------------------------------------------------------------------
Bug: TntListItem.Update updates the whole listview -- Still working on this. I made some change the other day and now one of my listviews seems OK.

Comments