Forum Replies Created
-
AuthorPosts
-
November 20, 2019 at 6:15 pm in reply to: No skin in menuitem after add item in OnPopup event #68162HeDiBoParticipant
I could duplicate the problem (Delphi XE4 and Windows 10 Pro)
HeDiBoParticipantYou can try to replace this code:
Opened := not sSplitView1.Opened;
by this:
sSplitView1.Visible := not sSplitView1.Visible;
That would eliminate the slide-in effect. Than it is simply a question of using a normal panel and setting its visibility.
October 27, 2019 at 6:42 pm in reply to: TsMonthCalendar could do with some elements from tsDateEdit #63827HeDiBoParticipantThank you ππΎ
HeDiBoParticipantI’ve made a little sample project.
Click on the Hide/Show button, and you will find the splitview has positioned itself below sPanel4, even if its hifdden Align property is set before the sPanel4 Align property.- This reply was modified 5 years, 1 month ago by HeDiBo.
Attachments:
You must be logged in to view attached files.HeDiBoParticipantI cannot edit the original post anymore.
I tried to enter an ordered list in BBCode, but it did not work.
HeDiBoParticipantThis is how it should work:
– Make a new VCL project.
– Drop a TEdit control on the form (notice ParentFont property is True)
– Change the font properties of the Form. Notice that the font of the TEdit changes too: not only in the visible control but also in its font properties.
– Change one of the font properties of the TEdit. ParentFont turns to False.
– Change the font properties of the Form. The font properties of TEdit do not change.
– Change the ParentFont property of the TEdit to True: this is the crucial part – the actual font properties of the TEdit become the same as the Form’s font.The bound label has the flaw that it will not copy the actual font properties of the parent to its own font properties.
HeDiBoParticipantNo, it’s wrong. When the Bound Label is created in the IDE it should copy the parent’s font properties, because ParentFont being True is the default.
Also, every time the ParentFont property is changed to True, the font properties of the parent should be copied.
This is true for any Control with a ParentFont property, so it should be done in the Boumd Label too.HeDiBoParticipantThank you for files, I will check it soon.
The files are really superfluous, since the problem is already found: the ParentFont property in the bound label is True by default. So, the font properties should be copied from the parent. It is not, apparently.
That is no problem as long as you don’t change anything in the font properties. However as soon as you change such a property, the rest of the font properties are wrong, because they were not copied.HeDiBoParticipantI have more info now. It’s a bit devastating I’m afraid.
Enclosed is a picture of a Tframe at design time.
Look at the controls sDBText2 and sDBText3. They have bound labels (“Ronde” and “Zitting”). And sure enough they have an Italic font.
I changed something in the frame, thereby manually editing the dfm text. I ran the project. These controls still looked OK. But looking at the dfm file, these bound labels have lost their font info!!
As you can see from the last history file, they were OK!I’ve only just seen that the bound labels have ParentFont=True as the default. Still it is disturbing to see all the wrong font info. In normal fonts, when ParentFont is True, the font info is copied from the parent.
This must be the root of the problem, I think. When you change something in the font info, ParentFont becomes False and suddenly the labels have the wrong formatting.
- This reply was modified 5 years, 1 month ago by HeDiBo.
- This reply was modified 5 years, 1 month ago by HeDiBo.
Attachments:
You must be logged in to view attached files.October 19, 2019 at 1:00 pm in reply to: ShowPopupForm will sometimes throw an exception (new in AC14,33) #62961HeDiBoParticipantSorry Serge,
It was my own stupid mistake π³
HeDiBoParticipantI already corrected them all.
I think this may have been a much older issue. I remember that on some point, bound labels would not always save their font properties when the IDE was closed. In that case, looking at them now, may still show the old issue.
As soon as I see this occurring again, I’ll save the dfm for your inspection.- This reply was modified 5 years, 1 month ago by HeDiBo.
October 15, 2019 at 3:53 pm in reply to: ShowPopupForm will sometimes throw an exception (new in AC14,33) #62480HeDiBoParticipantFound the bug.
My project consists of a large number of TFrames, placed on pages of a giant TsPageControl. Some of these frames may show pupup windows. If these windows close, they set the Action to caFree and set there form variable to nil.
One of the popup windows did not set the form variable to nil. Causing the problem.
I still think it’s a bug in AC. Setting Action to caFree should be enough.October 15, 2019 at 12:16 am in reply to: TsMonthCalendar could do with some elements from tsDateEdit #62443HeDiBoParticipantI will try to make it soon.
That would be great π°
October 15, 2019 at 12:14 am in reply to: ShowPopupForm will sometimes throw an exception (new in AC14,33) #62442HeDiBoParticipantYes, looks like that. But I canβt imagine when owner may be destroyed here.
Is it possible to make a test-app with such problem?I’ll have another look at it tomorrow.
HeDiBoParticipantIf you need this globally, it will be one hell of a job.
I think it may be surprisingly easy:
The solution could be testing in TsSkinProvider.NewWndProc for the WM_MOUSEHOVER message for the control that is parent to the disabled control. Then if the disabled control has an active hint, show it.
- This reply was modified 5 years, 1 month ago by HeDiBo.
HeDiBoParticipantNice π°
HeDiBoParticipantI’m very sorry, I put you through this agony π₯΄
I cannot reproduce it in a sample project. I thought I had this in another project, so I’ll retest that.HeDiBoParticipantHello!
I have checked it again right now, focus rectangle is not painted when ShowFocus property is False in my tests.The problem was that ShowFocus is not honored in a TsButton. There’s no difference with ShowFocus = True and ShowFocus = False, irrespective of whether skinmanager is active or not. Only if skinmanager is active and ButtonsOptions.ShowFocusRect is true, a focus rectangle is drawn.
It’s a bit of a mess, because the focus rectangle should only be drawn in non-skinned mode!HeDiBoParticipantAfter reconsideration, to support TNTUNICODE, the best fix may be:
if Result then begin if Text = '' then Value := 0; (*** DB ***: initialize text to 00:00:00 *) {$IFDEF TNTUNICODE} c := PWideChar(Text);
- This reply was modified 5 years, 1 month ago by HeDiBo.
October 2, 2019 at 1:43 pm in reply to: Access Violation when GroupBoxStyle is gsCard (AC 14.31) #61445 -
AuthorPosts