Jump to content

Attila Kovacs

Members
  • Content Count

    1977
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by Attila Kovacs

  1. Now the "another unit" is cluttered with the form's stuff. Can't see any benefits.
  2. Attila Kovacs

    Working with Delphi and Excel

    Which one can read/write xlsb?
  3. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    Yes but I must have been a lazy dog again.
  4. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    Thx, that RTTI was already a big help for the future. I'm sorry that the result is disappointing, I'm pretty happy with it and as I said, I'm using this not just for the IDE but for my old D2007 apps too with some adjustment on some controls works pretty solid and looks good on 4k.
  5. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    Yes, I remember playing a lot with all these things without "rtti" until I gave up. I'd now try to iterate through the nodes using those typinfo's.
  6. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    Thank you, this helps a lot, I wish I knew it earlier. Edit: Setting the Indent property changes the layout immediately, DefaultNodeHeight not. I think if you need that on the fly you have to iterate through the nodes and set its height or invalidate them one by one. But I would not do that as it makes no sense changing it runtime but as I said, checking at startup if the IDE is starting in HDPI mode or not via the registry.
  7. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    do they have an own virtualtree? the one we know does not override it.
  8. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    Not if it's reintroduced/not overridden in the child class.
  9. running as admin?
  10. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    I'm not sure what TWincontrol.Invalidate calls as the actual classes are unknown for the wizard and I have no clue how RTTI works under D2007, that's why I had the hardcoded address.
  11. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    Yes, it's true, but after installing the wizard every time the IDE starts up the node heights are ok. You have to invalidate the tree controls if you want an instant change. I'd suggest you to check the registry from the wizard and if the IDE is in it patch the IDE otherwise do nothing.
  12. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    the address is TBaseVirtualTree.SetDefaultNodeHeight, and as the value is not dfm stored I have to call that and the project manager is working for me, 28pix nodeheight: could be some interference with other experts?
  13. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    It was not for D2007 and it's just setting width and height. Try this procedure ResizeImageList(AImageList: TImageList; AWidth, AHeight: integer); var i: integer; mb, ib, sib, smb: TBitmap; ilc: TImageList; begin ilc := TImageList.Create(nil); try ilc.Width := AWidth; ilc.Height := AHeight; for i := 0 to AImageList.Count - 1 do ilc.AddImage(AImageList, i); ib := TBitmap.Create; mb := TBitmap.Create; try ib.Width := AImageList.Width; ib.Height := AImageList.Height; mb.Width := AImageList.Width; mb.Height := AImageList.Height; AImageList.Width := AWidth; AImageList.Height := AHeight; sib := TBitmap.Create; smb := TBitmap.Create; try sib.Width := AImageList.Width; sib.Height := AImageList.Height; sib.Canvas.FillRect(sib.Canvas.ClipRect); smb.Width := AImageList.Width; smb.Height := AImageList.Height; smb.Canvas.FillRect(smb.Canvas.ClipRect); for i := 0 to -1 + ilc.Count do begin ib.Canvas.FillRect(ib.Canvas.ClipRect); mb.Canvas.FillRect(mb.Canvas.ClipRect); ImageList_DrawEx(ilc.Handle, i, ib.Canvas.Handle, 0, 0, ib.Width, ib.Height, CLR_NONE, CLR_NONE, ILD_NORMAL); ImageList_DrawEx(ilc.Handle, i, mb.Canvas.Handle, 0, 0, mb.Width, mb.Height, CLR_NONE, CLR_NONE, ILD_MASK); sib.Canvas.StretchDraw(Rect(0, 0, sib.Width, sib.Width), ib); smb.Canvas.StretchDraw(Rect(0, 0, smb.Width, smb.Width), mb); end; AImageList.Add(sib, smb); finally sib.Free; smb.Free; end; finally ib.Free; mb.Free; end; finally ilc.Free; end; end;
  14. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    reg /?
  15. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    Yes that would be cool. However, it's not just the IDE. I'm letting my old programs run this way, and they look just great. (Some extra code needed ofc.) For my understanding adding the exe with full path to the first registry path you mention is enough.
  16. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    procedure ResizeImageList(AImageList: TImageList; AWidth, AHeight: integer); var i: integer; mb, ib, sib, smb: TBitmap; ilc: TImageList; begin ilc := TImageList.Create(nil); try ilc.Width := AWidth; ilc.Height := AHeight; for i := 0 to AImageList.Count - 1 do ilc.AddImage(AImageList, i); ib := TBitmap.Create; mb := TBitmap.Create; try ib.Width := AImageList.Width; ib.Height := AImageList.Height; mb.Width := AImageList.Width; mb.Height := AImageList.Height; AImageList.BeginUpdate; try AImageList.SetSize(AWidth, AHeight); sib := TBitmap.Create; smb := TBitmap.Create; try sib.Width := AImageList.Width; sib.Height := AImageList.Height; sib.Canvas.FillRect(sib.Canvas.ClipRect); smb.Width := AImageList.Width; smb.Height := AImageList.Height; smb.Canvas.FillRect(smb.Canvas.ClipRect); for i := 0 to -1 + ilc.Count do begin ib.Canvas.FillRect(ib.Canvas.ClipRect); mb.Canvas.FillRect(mb.Canvas.ClipRect); ImageList_DrawEx(ilc.Handle, i, ib.Canvas.Handle, 0, 0, ib.Width, ib.Height, CLR_NONE, CLR_NONE, ILD_NORMAL); ImageList_DrawEx(ilc.Handle, i, mb.Canvas.Handle, 0, 0, mb.Width, mb.Height, CLR_NONE, CLR_NONE, ILD_MASK); sib.Canvas.StretchDraw(Rect(0, 0, sib.Width, sib.Width), ib); smb.Canvas.StretchDraw(Rect(0, 0, smb.Width, smb.Width), mb); end; AImageList.Add(sib, smb); finally sib.Free; smb.Free; end; finally AImageList.EndUpdate; end; finally ib.Free; mb.Free; end; finally ilc.Free; end; end;
  17. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    Nah, I didn't want to bother with my problems, not that wild, I'm just using the formatter. (which by the way kills the IDE with the latest GE, which again IDC)
  18. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    This is the unit I'm using to fix the issues in D2007. For things I'm using, could be incomplete. The hardcoded address is for the latest IDE with all its patches, will only work with that obviously. DzWiz.pas
  19. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    Yessss, and AFAIR I tried to tell this but there was no reaction.
  20. Attila Kovacs

    Delphi 11.1 - a month later

    Offtopic Under Berlin it's smaller, but I had no issues so far, under D2007 it's the regular size. But I have to run some extra code in a wizard to fix some tgrid/tlist/ttree(virtualtree)/font issues in the IDE. Not much though. the screenshots are on 125% zoom (Well, the full-sized screenshots are downscaled by the forum software, so forget it. They look good 😉) D2007 snipplet
  21. Attila Kovacs

    Delphi 11.1 - a month later

    Compatibility mode / HDPI / scale by application or something like that.
  22. Attila Kovacs

    Delphi 11.1 - a month later

    I'm running my Berlin and even my D2007 in HDPI mode -with some custom expert along- to get a crisp picture and you are using the latest HDPI aware IDE in blurry mode?
  23. Attila Kovacs

    Developer Express gave up on FMX

    poor Sea of Japan
  24. Attila Kovacs

    Delphi 5 Printing

    define "failing", provide more infos, logs, event logs
  25. Attila Kovacs

    Install Raize components 6.1.10 in Delphi 10

    Oh yes. Make sure RzComps.inc knows your current Delphi/Compiler version. You have to manually adjust it.
×