12-28-2008 12:37 AM - edited 12-28-2008 12:46 AM
How would you cut a hole through front panel objects ? Could you build something equivalent to the vi below ?
12-28-2008 02:32 AM - edited 12-28-2008 02:34 AM
chilly charly wrote:
Could you build something equivalent to the vi below ?
Yes .
And if you know the trick, please don't post it immediately... 😉
Oh, well. Since you insist.
Here's a hint for those who want to look (select the text to view it): this is just a special case of making something in the FP partially transparent.
12-28-2008 09:10 AM - edited 12-28-2008 09:11 AM
Let's make things slightly more difficult : Dig also a round hole through the front panel objects, as shown on the image below.
Post your achievements as images, we shall compare the codes later... Pure LabVIEW only of course !
Have fun !
12-28-2008 10:01 AM
12-28-2008 10:53 AM - edited 12-28-2008 10:59 AM
smercurio_fc a écrit:
Is the VI supposed to be operational ? Yes of course !
Are you still supposed to be able to use the controls ? For example, are you supposed to be able to select the max value of the knob to be able to change it ? Well, if there is a hole there, there is nothing to be selected ! Otherwise, everything should be functional.
Is the hole supposed to move as you move the window ? The holes belong to the pane. So they move when you move the window or when you scroll the pane.
Your front panel does not appear to have a title bar... 😮 ???
Are any temporary redrawing side-effects allowed ? If so, to what extent ? Redrawing side-effects should be kept minimal, if any 😉
12-29-2008 05:25 AM
How about this (8.0)?
Of course, people who know what they're doing will be able to play with the VI to find out at least some of the trick, but these people probably have an idea already.
12-29-2008 06:53 AM
12-29-2008 09:08 AM
chilly charly wrote:Your front panel does not appear to have a title bar... 😮 ???
Never mind. I thought I was looking at your Windows desktop with the gray pane being the LabVIEW window. I don't normally see such scenic vistas on LabVIEW front panels. Kind of reminds me of an interviewee at my previous job who was so proud of the wood-grain paneling he had for his VI's front panel. Note that I'm not dinging your style!
12-29-2008 09:42 AM
smercurio_fc a écrit: [...] Kind of reminds me of an interviewee at my previous job who was so proud of the wood-grain paneling he had for his VI's front panel. Note that I'm not dinging your style!
I have to confess that I'm not using usually such panel backgrounds :D. It was just a convenient way to illustrate the hole idea.
But may be we should push your idea ahead, and try to dig a hole through the VI pane to see the window board below... 😉
12-29-2008 10:32 AM
chilly charly wrote:
try to dig a hole through the VI pane to see the window board below...
I don't think you'll be able to do this using pure G, but I do have VIs which call into the Windows API which can do that.
01-04-2009 02:39 PM - edited 01-04-2009 02:46 PM
Since there are few contributions to this thread, I'll give the solution to the original question : the answer is 0x01000037.
This is simply the hex code for the chameleon color (d16777271, although it appears as R0:G0:B0 in the LabVIEW color picker).
It makes a front panel or diagram object adopt the background color (and not the color of the underlying FP object).
I found the idea on the LabVIEW wiki (although there was originaly a confusion with transparency...). The use of the system label was suggested to create labels for the diagram wires as a form of code commenting. Of course you can also use it to dig holes through FP or diagram objects !..
01-04-2009 03:34 PM
chilly charly wrote:This is simply the hex code for the chameleon color
Ah, that's good to know.
(Now, how would you punch a hole all the way to the computer desktop? 🐵
chilly charly wrote:The creation of round holes is a bit more complicated... 😉
We can possibly get some clues by looking at the hierarchy in tst's solution. Can we?
01-05-2009 03:41 AM
While I did know about the system label color, I have to admit I didn't think about it, maybe because I already had code which needed only a couple of minutes of modification to do your first example. There are also problems with the system label color (e.g. it only works on the background image and it doesn't work inside tab controls).
As I mentioned, those who know what they're doing can get some details from my example. Also, I decided to choose a password which would be simple, so the first to figure it out is welcome to post an image of part of the BD.
01-05-2009 04:08 AM
01-05-2009 04:33 AM - edited 01-05-2009 04:34 AM
01-05-2009 06:15 AM
Matthew Kelton wrote:
I am assuming it uses several of the WinAPI functions tst is referring to.
I was actually thinking of using these functions, but didn't feel like working out exactly how to create the right shape, so I went down another (actually simpler, and one which I probably should have thought of first) path.
01-05-2009 08:08 AM - edited 01-05-2009 08:10 AM
Here's tst's BD for the beef of his code.
01-05-2009 09:58 AM
Since you've gone and exposed the important bits, you might as well post the password as well.
P.S. This was quick code written from scratch, since I didn't have anything which would have done the round hole. That's why it's not documented and not particularly clean. It's quite possible that there are more efficient ways of doing this.
01-05-2009 10:45 AM
01-12-2009 11:29 AM
For those wondering, the Windows API function used to cut a hole in the window can be seen here. One of its parameters is a color input (I believe in that example that color is a constant) and when you use a color and make the panel opaque, everything of that color in the window becomes completely transparent. You can even click through it to whatever's below the window.
You should note that the VI posted there was just a quick example. It needs work and cleaning up.
02-27-2009 09:17 AM
tst wrote:
altenbach wrote:
(Now, how would you punch a hole all the way to the computer desktop? 🐵
Like this,
but it doesn't satisfy CC's requirement, as it uses the Windows API.
OW OW...who's alice 😉 lol
02-28-2009 10:45 AM
Wouldn't you like to know? 😉
...
...
Well, if you would, you could just do a Google search. It's the first result. There was a tunnel, so I guess I thought it might be appropriate.
02-28-2009 01:05 PM
tst wrote:Wouldn't you like to know? 😉
...
...
Well, if you would, you could just do a Google search. It's the first result. There was a tunnel, so I guess I thought it might be appropriate.
Aw that wasn't nearly as exciting as i thought it might be 😞