Jump to content

Attila Kovacs

Members
  • Content Count

    1943
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by Attila Kovacs

  1. running as admin?
  2. 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.
  3. 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.
  4. 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?
  5. 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;
  6. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    reg /?
  7. 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.
  8. 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;
  9. 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)
  10. 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
  11. Attila Kovacs

    Making Delphi 2007 HighDPI-aware

    Yessss, and AFAIR I tried to tell this but there was no reaction.
  12. 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
  13. Attila Kovacs

    Delphi 11.1 - a month later

    Compatibility mode / HDPI / scale by application or something like that.
  14. 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?
  15. Attila Kovacs

    Developer Express gave up on FMX

    poor Sea of Japan
  16. Attila Kovacs

    Delphi 5 Printing

    define "failing", provide more infos, logs, event logs
  17. 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.
  18. Attila Kovacs

    Install Raize components 6.1.10 in Delphi 10

    make sure there is no precompiled stuff with older delphi version like dcu, dcp etc... (backup the raize dir first)
  19. Attila Kovacs

    Install Raize components 6.1.10 in Delphi 10

    there is a build script in the source dir
  20. Attila Kovacs

    Q for MAPI Expert

    I see. I've installed it now and the whole html is inserted as text. Sadly, there is not much we can do in simple mapi. You could ask them in their forum to implement it.
  21. Attila Kovacs

    Q for MAPI Expert

    @marcin thank you for the feedback, as for thunderbird just pass the html text as the body. Don't forget to inline the images, and keep them in one single line. For Outlook you have to test for yourself as I do not have any here. There are rumors on the net that body should be null and the first and only attachment should be html body but I hope it's not the case anymore.
  22. Attila Kovacs

    Fix DBGrid Scrollbar Problem

    Well, Delphi was first not C#. With "the other" I can't deal. Anyway, I'd suggest you to hire a Delphi coder who can easily override the corresponding event handlers to let TDBGrid behave like you describe. (For whatever mystic reason)
  23. Attila Kovacs

    Fix DBGrid Scrollbar Problem

    What makes you think the "other" is the normal? For me, it's abnormal.
  24. no, you are showing the interface part of the class, not the actual class with code
  25. Attila Kovacs

    Custom component TAction (s) - OnExecute overide

    There is always a virtual DoXY behind the OnXY.
×