-
Content Count
2919 -
Joined
-
Last visited
-
Days Won
170
Uwe Raabe last won the day on July 18
Uwe Raabe had the most liked content!
Community Reputation
2165 ExcellentAbout Uwe Raabe
- Birthday 09/30/1956
Technical Information
-
Delphi-Version
Delphi 12 Athens
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
A TCustomPanel is not filled with a color, but with part of the style bitmap (defined in the GroupBox.Frame object). In a lot of cases this may be similar to a solid color, but it can as well be some texture or even a transparent area for some styles like Amakrits. You might really get the best results with setting the labels Transparent property to True.
-
What type of control is the Parent of the label (TForm, TPanel,...)?
-
See here: Update: You can see what colors are returned here: function TUxThemeStyle.DoGetStyleColor(Color: TStyleColor): TColor; begin case Color of scBorder: Result := clWindowFrame; scButtonDisabled: Result := clBtnFace; scButtonFocused: Result := clBtnFace; scButtonHot: Result := clBtnFace; scButtonNormal: Result := clBtnFace; scButtonPressed: Result := clBtnFace; scCategoryButtons: Result := clBtnFace; scCategoryButtonsGradientBase: Result := $C0C0C0; scCategoryButtonsGradientEnd: Result := $F0F0F0; scCategoryPanelGroup: Result := clMedGray; scComboBox: Result := clWindow; scComboBoxDisabled: Result := clWindow; scEdit: Result := clWindow; scEditDisabled: Result := clWindow; scGrid: Result := clWindow; scGenericBackground: Result := clBtnFace; scGenericGradientEnd: Result := $C0C0C0; scGenericGradientBase: Result := $F0F0F0; scHintGradientBase: Result := clInfoBk; scHintGradientEnd: Result := clInfoBk; scListBox: Result := clWindow; scListBoxDisabled: Result := clWindow; scListView: Result := clWindow; scPanel: Result := clBtnFace; scPanelDisabled: Result := clBtnFace; scSplitter: Result := clWhite; scToolBarGradientBase: Result := $C0C0C0; scToolBarGradientEnd: Result := $F0F0F0; scTreeView: Result := clWindow; scWindow: Result := clBtnFace; else Result := clNone; end; end;
-
That depends on the definition of correct.
-
Inactive selection color in code explorer
Uwe Raabe replied to Rickard Johansson's topic in MMX Code Explorer
As I never use any dark theme myself I am thankfully not affected. Nevertheless, I would rather question the decision to make clBtnFace and clWindow looking quite similar in the dark theme, while they give a perfect contrast in the light theme. -
Inactive selection color in code explorer
Uwe Raabe replied to Rickard Johansson's topic in MMX Code Explorer
I did some deeper investigation not concentrating on the colors itself and it turned out that HideSelection was True under some conditions. I fixed that in the latest beta. Can you please try and see if this helps a bit? -
Inactive selection color in code explorer
Uwe Raabe replied to Rickard Johansson's topic in MMX Code Explorer
That would require to configure this color for all possible themes. The IDE comes with three, but works with any valid VCL style. The better approach would be to select a VCL style that matches your preference. This would even work without fiddling around with the MMX sources Another approach would be to file a feature request to change the standard themes color to something more visible. The problem with that is, that it is hard to show with a vanilla IDE installation. -
Inactive selection color in code explorer
Uwe Raabe replied to Rickard Johansson's topic in MMX Code Explorer
Short answer: It doesn't use any color. The colors are intrinsic to a the selected IDE theme and not part of MMX. The difference you see in the selected colors are caused by comparing different controls. MMX uses a derived TListView for the members and TTreeView for the content, while the IDE uses a special VirtualTree version. Each have separate colors inside a theme. I'm not aware that TTreeView or TListView are used elsewhere in the IDE, which may explain why nobody complained about these colors up to now. -
Looks here as expected:
-
There is no problem to have separate units for each form and still have them work together for whatever they are supposed to do. It is just difficult to give general advice instead of answering questions about a concrete problem. Things that come to mind: Use a data unit (TDataModule or a plain unit) to group the file access at one place. Restrict the forms to the UI stuff and call the data unit classes or methods as appropriate. Ideally, each for unit only uses the data unit. I'm pretty sure there are ways to accomplish that.
-
No, you should use separate units for each form and keep the {$R *.dfm} directive in each. The * makes it match with the unit name and the IDE will keep unit and form file names in synch. Please refrain from packing multiple forms into one unit. Otherwise you will most likely flood this forum with questions about the problems you get, while the correct answer will always be: Don't do that!
-
You can have multiple forms open in the IDE, each in its own unit. If you want multiple designers for each form, you need to create separate edit windows with New Edit Window. The usual way is to have a separate unit (pas and dfm) for each form. There are rare cases where declaring one or more form descendants in the same unit without the ability to design can make sense.
-
You can contact Devid Espenschied
-
programmatically determine the edition of RAD Studio 12.3
Uwe Raabe replied to dmitrybv's topic in Delphi IDE and APIs
The Architect SKU is in fact an Enterprise SKU with additional licenses for some external tools (RAD Server Multi-Site, Sencha Ext JS Professional Edition, Aqua Data Studio). This SKU can only be detected from the license, so an IDE plugin can query the SKU and will return Architect with an appropriate license. -
programmatically determine the edition of RAD Studio 12.3
Uwe Raabe replied to dmitrybv's topic in Delphi IDE and APIs
I cannot check this in my environment as I neither have a Personal Edition nor a Community Edition at hand. I can just share that my Architect Edition shows Enterprise in the details, which is expected because Enterprise and Architect differ only in the licenses for some external tools. Given the previous findings, the Product name seems to be a valid approach to detect the installed edition.