ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 TIELayerProps color and font properties
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

jrpcguru

USA
254 Posts

Posted - Jul 06 2020 :  19:16:00  Show Profile  Reply
I am using ImageEn 9.1. I have just discovered an odd problem with the TIELayerProps and how it displays the color picker and font picker. I've confirmed this with \Demos\Actions\Actions_Layers\Actions.dpr.

I use three screens, arranged like the attached image:






If I place the form containing ImageEnView on screen 3, open the properties dialog and attempt to select a color, the color picker is invisible - off all three screens. The font picker is visible on screen 3.

If I place the form containing ImageEnView on screen 2, open the properties dialog and attempt to select a color, the color picker is invisible. The font picker displays on screen 1.

The pickers work as expected on screen 1. I also swapped the positions of screen 2 and 3. In that scenario I could see a small amount of one of the pickers on screen 1.

I launch the property dialog via:
if ImageEnView1.LayersShowPropertiesDialog() = true then

Is there something I can do to get the color and font pickers to display properly?

J.R.

xequte

38127 Posts

Posted - Jul 07 2020 :  02:08:15  Show Profile  Reply
Hi JR

Wow, that is quite the screen layout

Please email me for a fix.

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

jrpcguru

USA
254 Posts

Posted - Jul 08 2020 :  16:26:19  Show Profile  Reply
Thanks for the quick response.
I've also been working with the popup toolbar for text layers and rich editing. Using the same screen layout the toolbar is frequently invisible or not where I would expect it:

If form is on screen 2:
iepTop, iepAbove displays at top of screen 1
iepAboveSelection displays at top of screen 1
iepBottom, iepBelow displays underneath maximized form on screen 2 or to right or underneath when form is not maximized
iepBelowSelection toolbar not visible

if form is on screen 3:
iepBelowSelection, iepAboveSelection, iepBottom, iepTop, iepBelow, iepAbove toolbar under form and not visible

Apparently my screen layout is challenging. And I'm using a popup form for my layer editing. The main form is on screen 1 in all these results listed above.

If I use your Demos ver 9.1.0\LayerEditing\Layers_Text and drag it around to different screens, the results are a bit different, but still not what I would expect:
if form is on screen 2
iepAbove, iepTop, iepAboveSelection displays at top of screen 1
iepBelow displays correctly below the layer
iepBottom, iepBelowSelection displays near bottom of the text layer, covering part of the layer

if form is on screen 3
iepAbove, iepTop, iepAboveSelection displays well below layer
iepBelow displays correctly below the layer
iepBottom, iepBelowSelection displays near bottom of the text layer, covering part of the layer


if form is on screen 1
iepAbove displays above the text layer, as expected
iepTop displays near top of the text layer, covering part of the layer
iepBottom, iepBelowSelection displays near bottom of the text layer, covering part of the layer
iepAboveSelection displays above the text layer, over any text selection as expected
iepBelow displays below the text layer, as expected

I'm using D10.3 with DPI awareness Per Monitor v2. I have found that not using DPI awareness causes problems with popup forms on different monitors.


J.R.
Go to Top of Page

xequte

38127 Posts

Posted - Jul 17 2020 :  02:14:18  Show Profile  Reply
Hi JR

Please email me to test a fix for this.

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

jrpcguru

USA
254 Posts

Posted - May 22 2021 :  17:05:07  Show Profile  Reply
I have been working with ver 10.0.0 and the screen layout that I originally described in this thread. I'm having two problems:


IEGlobalSettings().RichEditorToolbar.Position := iepAbove;
ImageEnView1.AutoToolbars := [ ievLayerSelection  ];
ImageEnView1.LayerOptions :=  [loShowRichTextToolbar, loAllowReturnsInRichText,loAutoUndoChangesByUser,loAutoUndoChangesByCode,loKeyboardShortcuts, loAllowMultiSelect, loAutoSelectMask ,  loPreventOutOfBounds ];


When I select a text layer, the layer toolbar displays on top of the image, as expected.
1. When I select a word in the text layer, the Rich Text toolbar disappears behind the form. The toolbar is only visible if the form is not maximized and then only partially. If I drag the form around, the toolbar follows correctly.

2. If I try to select the toolbar button to display the Layers Property Dialog, I receive this error:



The same thing happens when I programmatically ask for the property dialog:
ImageEnView1.LayersShowPropertiesDialog() = true

I tested the error message with demo: C:\ProgramData\ImageEn\Demos\LayerEditing\Layers_AllTypes
I inserted a shape layer, then double clicked the layer to receive the same error.

I converted demo: C:\ProgramData\ImageEn\Demos\LayerEditing\Layers_Text
into a popup form on the other demo program and tried to figure out why the Rich Text toolbar displays behind the text layer. It turns out that my program sets the popup FormStyle = fsStayOnTop. If it is fsNormal the Rich Text toolbar is properly visible.

My program has an option to set the entire program on top so it can be resized to fit in unused space over another program. This is why my popup form needs to be fsStayOnTop. Since the regular layer toolbars are fully visible, is it possible to convince the Rich Text toolbar to agree?





J.R.
Go to Top of Page

jrpcguru

USA
254 Posts

Posted - May 22 2021 :  19:04:43  Show Profile  Reply
I originally suspected the problem with the popup toolbars was caused by my extra screens. However, now that I've discovered that it is formstyle = fsStayOnTop, I went back and tested the demo program again. I used demo program: C:\ProgramData\ImageEn\Demos\LayerEditing\Layers_Text

If that program uses fsNormal, the layer toolbar and the rich edit toolbar appear as expected, regardless of which screen the program is displayed on. If it uses fsStayOnTop, neither the layer toolbar nor the rich edit toolbar is visible, regardless of which screen is used. Sorry for the confusion.

J.R.
Go to Top of Page

xequte

38127 Posts

Posted - May 23 2021 :  01:04:38  Show Profile  Reply
Hi JR

The StyleName error when displaying the Layer Properties dialog on older windows is fixed in 10.0.1. Please email me for it.

ImageEn floating toolbars use a floating form to hover over the base form, so that makes them incompatible with forms that use fsStayOnTop. I will outline that in the documentation.

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

jrpcguru

USA
254 Posts

Posted - May 23 2021 :  16:40:54  Show Profile  Reply
That is a disappointing answer. So I resumed testing the same demo program to see what would be a good method of modify my program. I find some oddities that you may not intend:

I tried out the popup menu features for text and rich text.

The help file says the popup text editing menu only supports irbRichEditUndo, irbRichEditClipboard, irbRichEditOther, irbRichEditSelect.

irbRichEditUndo never seems to activate Redo. It is correctly activated in the rich edit popup menu.

irbRichEditOther apparently controls the Delete option. But only if it is removed from the rich edit popup menu also.

IEGlobalSettings().TextEditorPopupMenu := []; yields a clipboard popup menu unless irbRichEditClipboard is also removed from the rich edit popup menu. It also yields the Select All option unless irbRichEditSelect is removed from the rich edit popup menu.

If I removed irbRichEditClipboard from the rich text popup, adding it to the text popup has no effect.

J.R.
Go to Top of Page

xequte

38127 Posts

Posted - May 24 2021 :  20:05:41  Show Profile  Reply
Hi JR

Unfortunately to make the toolbars compete with the fsStayOnTop property of other forms would require some very ugly hacking (if it could work at all). I'm surprised that fsStayOnTop works in the situation you describe. I would not think fsStayOnTop has any effect relative to other applications (only forms within a single application).

Thanks for the bug report regarding IEGlobalSettings().TextEditorPopupMenu. It seems there is a clash there which I have fixed for the next update.

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

jrpcguru

USA
254 Posts

Posted - May 25 2021 :  14:53:36  Show Profile  Reply
Sorry to be a pain, but I've done further experimenting with the fsStayOnTop issue on your all layer demo. I find I was incorrect that both the select toolbar and richedit toolbar hide when fsStayOnTop is used. In fact the select toolbar appears properly except if rich text editor is active, and I think that is intended behavior. It is the rich text toolbar that hides, so it seems there may be something different there? (I think some of my prior results may have been that I didn't follow your programming style well enough to insure all the properties were correct for the current layer. Correcting that, I'm getting consistent behavior now.)

So far the best work around is to customize the right click menu for rich text layers to add most everything that is on the toolbar.

I also stumbled on another possible issue: the ImageEn file dialog does not reliably appear on top of a form that is fsStayOnTop. TOpenDialog does reliably appear correctly. And just to make things more puzzling, I have two programs that allow fsStayOnTop and use the ImageEn file dialog. One displays correctly, the other is behind the main program form. Similarly with the demo programs I had inconsistent results. I have figured out how to alter my programs to avoid that problem, but the rich edit toolbar sure would be nice to have work reliably.

J.R.
Go to Top of Page

xequte

38127 Posts

Posted - May 27 2021 :  18:40:19  Show Profile  Reply
Hi JR

I've added investigation of fsStayOnTop support to our to-do list for a future version.

You might try changing the ModernDialog to see if that gives any improvement:

https://www.imageen.com/help/TOpenImageEnDialog.ModernDialog.html

Nigel
Xequte Software
www.imageen.com
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: