Start a new topic

Send a component "ahead" or "behind" the other components

Please, we need a possibility to send a component "ahead" or "behind" the other components. So when inserting a new component, we can define it appears over the others or not.

As a suggestion, put one property in visual components to control this function like this:  

0-front and 1-behind.

Thank you.

2 people like this idea

the "ref" command is your friend ...



No it is not, ref command does not know which of the overlapping components developer wants on the top. "Ref 0" will "make" it's pre-programmed decision if developer has no ways to tell it which of overlapping components should go on the top...
Also during the editing process we need to move components forward and backward depending on which one we are currently working on... I think this feature is a must...


Yes it is ... nobody force you to use "ref 0" ... according to the documentation, and indeed reading the documentation, there is also a "ref cmpID" ... and with this, you can send any component to the front.
By the way, not only the "ref cmpID" force an object to front, a simple assigning of an e.g. new value will do the same.

"ref n0" will bring the object n0 to the foreground, the same than "n0.val=123'

And no, there is NO spezialized "bring to background" command. But honestly, when something goes to foreground, something other automatically also goes to the background ... and all the rest is up to you ...


1. the ref command is runtime control from MCU. How do you bring overlapped object to the front in the Editor?
2. If MCU issues assignment command, this does not mean that developer intended to bring object to the front. It only means he wanted to do just that - assignment. I need to do updates of components in 3 pages WITHOUT changing the current active page. Only when pilot (I'm making instrument panel for the in-flight controller) decides to check out other pages - then he switches to the one he wants and I expect that page to show all updated components been arranged as they were designed. I understand that I can bring component to the front with ref compID command but I don't need this to happen from value assignment command and also I might not have this page active at the moment.
Please let me know - will component update in the non-active page with command from MCU:
page0.compID.val=123   assuming that this component is set to Global? I didn;t try this yet....
And again - how to bring overlapped component forward in the Editor window?


Hi Vlad,
ok, when we talk about "design-time" you are right. There is no easy way to control the objects layer within object properties. Created objects are just set sequentially, more new, more top ...
just tried:
- ref pagex.compID does NOT work, it seems, ref only works on the active page
- pageID.ObjectName.val/txt=XXX works on inactive pages, the object must be set as global

An option to move an object back/forth at designtime is definitely a good feature ... and I dont think that it should be that hard to implement. You only must change the order of your objects inside the hmi file and initialize a reload ... that would be the most simple.


 Thank you Gerhard for confirmation on global components update for inactive page - my project would be in doubt without this... and I did not try this yet...

As for editing window - right now I am trying to eliminate any overlap of visual components, but funny thing is - even non-visual (ex. touch area) also covers up other components in editing window (!) and I loose access to the underlying component :) Seems to be a design bug...

The best professional approach is to show list of all placed components in the page design window - a separate tab/window. It would show all the components (some of which might not be seen visually) and would allow easy selection of any component regardless of whether it is on the top or covered up... selection is easier as there is no need to find it's location...

So is done in the CAD software and also in PCB design software... And it is not complicated because the record of all components is already in Nextion... just show it in a list and allow selection with mouse...clicking the object will bring it forward for editing... here we are....

Hi Vlad,
fully agree ... just a simple external object list, where you can easily mark any object you like to work with ... that would already be a great improvement.
But honestly, as far as I see, it seems Itead is a bit short on human ressources, especially software developers ...



I appreciate what they've done so far as this is indeed very much needed product. I was considering making something very similar to this for my own project (based on AVR MCU and SPI)  but my project is large, I can't spend time on developing tools...

Nextion, as it is now - is already usable if evading anything fancy... But if Itead cleans the code and adds the missing basics (such as discussed here) - the world of "embedded digital control" will be at their feet :)



absolutely. Whith a bit thinking, trying, playing and observing around, this displays are already a fantastic tool.
Especially when I see its price, TJC3224T022_011N for around 3 Euro here, who like to play ever again with simple 8 I/O consuming 16x2 alphanumeric mono LCD displays?
So, even if it's not perfect, it is already a great tool.



Try v033. 

I am now reviewing all of the Feature Requests, this will take some time, patience please.

Ref handling now automatic as of v0.40

Component Pane - carried forward.

Login or Signup to post a comment