-
Content Count
1977 -
Joined
-
Last visited
-
Days Won
26
Everything posted by Attila Kovacs
-
How to separate UI and Code, while maintaining rapid development?
Attila Kovacs replied to Incus J's topic in Delphi IDE and APIs
Now the "another unit" is cluttered with the form's stuff. Can't see any benefits. -
Which one can read/write xlsb?
-
Yes but I must have been a lazy dog again.
-
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.
-
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.
-
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.
-
do they have an own virtualtree? the one we know does not override it.
-
Not if it's reintroduced/not overridden in the child class.
-
Embarcadero 11.1 access violation coreide280.bpl
Attila Kovacs replied to capi48's topic in Delphi IDE and APIs
running as admin? -
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.
-
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.
-
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?
-
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;
-
reg /?
-
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.
-
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;
-
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)
-
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
-
Yessss, and AFAIR I tried to tell this but there was no reaction.
-
Delphi 11.1 - a month later
Attila Kovacs replied to Mike Torrettinni's topic in Delphi IDE and APIs
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 -
Delphi 11.1 - a month later
Attila Kovacs replied to Mike Torrettinni's topic in Delphi IDE and APIs
Compatibility mode / HDPI / scale by application or something like that. -
Delphi 11.1 - a month later
Attila Kovacs replied to Mike Torrettinni's topic in Delphi IDE and APIs
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? -
poor Sea of Japan
-
define "failing", provide more infos, logs, event logs
-
Install Raize components 6.1.10 in Delphi 10
Attila Kovacs replied to AndrewHoward's topic in General Help
Oh yes. Make sure RzComps.inc knows your current Delphi/Compiler version. You have to manually adjust it.