Forum Replies Created
-
AuthorPosts
-
Hi Steve,
I tried to duplicate what you described by doing the following:
1. Create new VCL Application (btw, I’m using Delphi 10.4)
2. Drop a TRzComboBox and a TRzEdit onto the form.
3. Edit the Items of RzComboBox1 and add the three “John” names plus a couple others.
4. I then ran the application.
5. I typed “John” without the quotes into the combo box and “John Anderson” get displayed with the ” Anderson” highlighted.
6. I then pressed the Delete key to delete the selected text.
7. I then pressed the Tab key to switch to the RzEdit1.
8. The combo box still showed just “John”.Do you have any other event handlers on the combo box that could be causing the behavior you are seeing?
Ray
Hi David,
The High DPI issues will be addressed in the next release.
Ray
Hi,
Thanks for the additional information. In short, you would like an easier way to log the parameters to a method call. A plug-in will not really help you capture the information you want. Instead, you need an overloaded EnterMethod method to allow your LogParams technique to work, or some other technique. I’ll have to give this some more thought.
What does the output look like in the Viewer after calling CodeSite.Send using your LogParams object?The update addresses the critical issues that affected the components from working/displaying properly in Sydney. Specifically, the changes to VCL Styles and StyleServices. In addition, where applicable, the components support the StyleElements property. The new StyleName property added in 10.4 is also supported. There were some other issues addressed as well (e.g. issues in TRzCheckList, display issues in TRzDBGRid, TRzStringGrid, TRzProgressBar, TRzPageControl, TRzTabControl, etc.)
Ray
February 25, 2021 at 2:51 am in reply to: Konopka Signature VCL Controls Problems on Delphi Sydney 10.4 #2378Hi Martijn,
Unfortunately, it was not a “simple” fix, and as a result, really needed to be address in a new release. Fortunately, that is finally coming.
Ray
Hi,
Yes, it is technically possible to write a custom plug-in for the CodeSite Viewers. The Compare Objects and Compare MemStatus plug-ins are built as separate packages that are loaded into the Viewers on startup.
What type of plug-in are you looking to create?
Ray
Hi Navid
ScratchPad does not include a manifest to tell Windows that it supports High DPI. As a result, when you run ScratchPad on a high resolution monitor, Windows automatically scales the display up to fit. Therefore, you are certainly able to use the application. All the menus, toolbar buttons, dialogs all appear the correct size. However, since Windows is scaling the bitmap rendering of the app, the menu fonts and toolbar button images are a little pixelated.
Ray
Hi Steve,
For a TRzTabSheet in a TRzPageControl, there is a TabIndex and a PageIndex. If all the tabs are visible, then the two values will be the same. However, if any of the tab sheets have their TabVisible property set to False, the TabIndex and PageIndex for a specific TRzTabSheet may indeed be different. The PageIndex always represents the “index” of the particular tab sheet in relation to the other pages in the page control. The TabIndex represents the index of the physical tab displayed that is associated with that tab sheet.
You are getting odd results because you are indexing into the Pages collection using a TabIndex instead of a PageIndex. But the OnPaintTabBackground event does not provide a PageIndex, just a TabIndex. Fortunately, there is a PageForTab method available to handle that. If you change your method to the following, you will get the behavior you are expecting:
procedure TForm14.RzPageControl1PaintTabBackground(Sender: TObject; ACanvas: TCanvas; ATabIndex: Integer; const ARect: TRect; var Handled: Boolean); begin with (Sender As TRzPageControl).PageForTab( ATabIndex ) do begin if (tag = 0) then // if tab is set to tag = 0 ACanvas.Brush.Color := clYELLOW // color yellow else // else ACanvas.Brush.Color := clWhite; // color white end; ACanvas.FillRect(ARect); // paint the tab Handled := True; // show its handled end;
Ray
Hi Barry,
You can use the Position property to change the splitter bar programatically.
Ray
Hi Anderson,
I’m glad to hear that you are enjoying CodeSite Express.The CodeSiteToolsSetup.txt file (included in the Tools directory along with the CS5_Tools.exe) provides details about customizing the CodeSite Tools install. Specifically, there are parameters that you can set to control which tools get installed.
By default the CodeSite Dispatcher does not run as a service. To run the Dispatcher as a service, the Dispatcher needs to be registered with Windows. Please read the “Running as a Service” topic in the CodeSite Help file for details about running the Dispatcher as a service. When the Dispatcher is run as a service, it appears in the Services list as CodeSiteDispatcher.
Ray
Hi Barry,
You can use the AddItemToGroup method. For example, the following code adds a couple groups and items to the list. Then in the button click event handler, a new player is added to the first group. Changing the first parameter to a 1 will add Ian to the Reserves group.
Ray
procedure TForm8.FormCreate(Sender: TObject); begin RzListBox1.ShowGroups := True; RzListBox1.AddGroup( 'Players' ); RzListBox1.Add( 'Anthony Rizzo' ); RzListBox1.Add( 'Kris Bryant' ); RzListBox1.Add( 'Javier Baez' ); RzListBox1.AddGroup( 'Reserves' ); RzListBox1.Add( 'Albert Almora Jr.' ); end; procedure TForm8.RzButton1Click(Sender: TObject); begin RzListBox1.AddItemToGroup( 0, 'Ian Happ' ); end;
Hi Olivier,
The CodeSite menu is added to the RAD Studio Tools menu by the CodeSite RAD Studio Expert that is located in the CSRadStudioTools270.dll. The DLL is registered with the IDE during installation. Assuming your CodeSite installation worked properly, you should have a CodeSite menu item under the RAD Studio Tools menu.
Ray
Hi Morten,
Great suggestion. Please send me an email to the Raize Support email (support at raize.com) and we can discuss.
Ray
Hi,
I apologize for the long delay. Because of the custom styles of tabs that are supported by the TRzPageControl and TRzTabControl, the style entries cannot be used directly. As such, the controls use “style appropriate” colors. In the case of the Auric style, the difference is more pronounced.
However, the TRzPageControl does give you lots of flexibility when it comes to the display. For example, even with VCL Styles active, you can write event handlers for the various OnPaint*** events of TRzPageControl and TRzTabSheet to customize the appearance.
For example, write the following event handlers for the TRzPageControl:
OnPaintCardBackground:
procedure TForm2.RzPageControl1PaintCardBackground(Sender: TObject; ACanvas: TCanvas; ARow: Integer; const ARect: TRect; var Handled: Boolean); begin ACanvas.Brush.Color := cl3DDkShadow; ACanvas.FillRect( ARect ); Handled := True; end;
OnPaintTabBackground:
procedure TForm2.RzPageControl1PaintTabBackground(Sender: TObject; ACanvas: TCanvas; ATabIndex: Integer; const ARect: TRect; var Handled: Boolean); begin ACanvas.Brush.Color := cl3DDkShadow; ACanvas.FillRect( ARect ); Handled := True; end;
And create a new event handler for the OnPaintBackground even for each TRzTabSheet instance in the page control. You can assign all tab sheets to use the same event handler.
OnPaintBackground:
procedure TForm2.TabSheetPaintBackground(Sender: TObject; ACanvas: TCanvas; const ARect: TRect; var Handled: Boolean); begin ACanvas.Brush.Color := cl3DDkShadow; ACanvas.FillRect( ARect ); Handled := True; end;
This will give you an appearance that will be very close to the standard TPageControl and still let you use all the tab styles of TRzPageControl.
Ray
November 7, 2020 at 3:55 pm in reply to: Konopka Signature VCL Controls Problems on Delphi Sydney 10.4 #2260Hi Martijn,
I apologize for the long delay in responding. This whole situation have been extremely frustrating and I’m tired of posting messages where I simply do not have any good answers. I know what needs to be done to the library. The problem is that Embarcadero owns the code. All I can offer at this point is for everyone to reach out to Embarcadero and let them know how important the KSVC is to your work.
Ray
-
AuthorPosts