How To Make Program Fit Different Screens


Recommended Posts

Hi, everybody

Currently I am using a 1280x800 laptop to develop a DAQFactory project, my mu terminated customer shall use a 22 inch desktop screen. If my program is deployed in that bigger screen, the right bottom will have a large empty space which doesn't look good, and there is no scroll bar in DAQFactory for me to move the screen.

So if a bigger screen uses my program, how to solve the display?

And if a smaller screen uses my program, how to solve the display? (because some components at right bottom will be hidden)

Thanks

James

Link to comment
Share on other sites

You have to design to the screen. For a larger screen, I recommend just buying a bigger screen so you can work on it. Really, 1280x800 is too small for development work. By the time you have the menu, command/alert and workspace, you are left with very little screen real estate. For a smaller screen, you have to redesign the pages. See the AshlandWater.ctl sample for a two resolution design.

This is a common issue that we are working to address. That said, I personally have some serious issues with implementing scroll bars or a zoom feature in SCADA systems. The problem is that most SCADA screens are designed under the assumption that the entire screen is visible at one time. SCADA screens often have things that blink, display in red or some other color, or use some other mechanism to alert the user. However, if a screen is too small and scroll bars displayed, it is very easily possible for the user to scroll those alerts off the side of the screen where they won't be seen. The developer therefore would have to limit the alerts to the very center of the screen, which is very limiting when using mimic diagrams. For this reason, it is much better to force the developer to simply design to the required screen size. This forces them to think about how it would look on that screen size and design appropriately.

Link to comment
Share on other sites

James, you really have to develop on a screen with at least as much resolution as the one on which you'll deploy. Techniques for developing for a lower resolution screen than your development system are discussed in http://www.azeotech.com/board/index.php?/topic/5030-screen-resize/

Guru, I can see why people want zoom and pan in runtime, but I mostly want it in development, so I can see 1 pixel moves and edits and so on (and this is often available in UI design software). Over time, with larger and higher resolution screens, this has become less of an issue, as there's less need to make things small, pixel-wise and inch-wise, to get enough information displayed on the screen. I do see why you think it might not be the best idea in runtime.

Link to comment
Share on other sites

Yes, my thoughts were for runtime. For development, you really should just have a big screen. They aren't expensive anymore. Even with scroll, your development time will be significantly longer if you try and do it on a small screen. As for pixel-wise adjustment, there are lots of tools in DAQFactory for that, including the align, make same size, etc. For pixel moves, I simply use the arrow keys, in combination with shift and ctrl. Also there is always the Properties window. Not the one specific to each component, but the one you get to from View - Properties. It shows the exact coordinates of the selected component.

Link to comment
Share on other sites

No, I'm saying that even with my old-guy eyes I want to be able to see with ease what will be single pixels at runtime. I want to zoom in at 200% or 300% or whatever on a small area of the app. It's not that I'm trying to develop on too small a screen.

Yeah, I use arrow keys in conjunction with shift and/or ctrl a lot, pretty much continuously, but there are times where there's nothing like seeing some detail big.

And yes, for the reasons cited earlier, with larger screens and higher resolutions this isn't the issue it used to be, but there are still situations where it would be helpful.

Link to comment
Share on other sites

  • 4 months later...

Hi, Admin

 

I want to write codes to magnify each component inside screen, for this, I need a command to set not only top and left position of component.  Is there some command, then I could set the position of a component, that set their left, right, top, bottom in one time. So that their size could be changed.

 

Refer to processdiagram, I am very interesting to know how that yellow barrel could change size. And I couldn't focus on it by click, don't know why.

Link to comment
Share on other sites

All components have several variables for this.  There is Position, which is 2x2 array for the top left, bottom right, plus individual variables like PositionBottom.  There is also two functions, moveBy() and MoveTo().  The barrel, however, in process diagram, uses an old method: the size and location tabs of the symbol component.  This method doesn't actually move the component, but rather where its displayed relative to where its placed.  That's why you can't click on it.  The component isn't really where the barrel is displayed, its elsewhere.  Because of this, its usually better to use the Position variables and moveby/moveto() functions.

Link to comment
Share on other sites

You can write to the individual parts by using the appropriate variable, like PositionBottom.  If you write to Position it has to be a 2x2 array:

 

component.myComp.Position = {{1,1},{100,100}}

 

Usually it easier to use the MoveTo or MoveBy() functions unless you want to change the size as well as the location.

Link to comment
Share on other sites

  • 4 weeks later...

All,

screen resolutions have always been a bit tricky especially if you are not sure what your final display is going to be. Just use a bit of common sense. Think of the aspect ratio of what you develop on and compare that to the screen aspect of what you are likely to use.

Give yourself some space around the edges of your screens so that if you 'clip' the top and bottom it will not matter.

If you are really tight for space think about using another page - it is limiting as to what people can 'digest' in terms of information.  Less is often more.

(Set up a script to scroll through or alternate between screens if a master display/view has to be split )

Link to comment
Share on other sites

  • 3 months later...

Some laptops will allow you to set your screen resolution to be higher than what your laptop display can show.  Then, as you move your mouse to an edge, the screen pans to allow you to see more of the screen.  I have also seen such features on desktop computers, but it has been a long time since I tried it.  I don't know how typical this feature is in the video drivers, or it might even be part of the operating system's features.

 

-Joe

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.