copy of displayed fill-in widgets

have fill-in widgets and want to be able to select them for copy to the windows clipboard.

I have only been able to do the highlight and copy if it is sensitive.

Does anyone know if there is a way I can get it to be selectable for "copy" and not be editable?

Example: We have an address that displays on the top of the screen, and want to be able to copy it into the windows clipboard, but for the user to see it as normal text that can not be edited.

Thanks in advance
Tom
 

GregTomkins

Active Member
I have tried to bury those unpleasant memories of the Progress UI... but... I think the 'READ-ONLY' attribute might help you. And for 'FILL-INs', the NATIVE attribute came in handy at some point.
 

Cringer

ProgressTalk.com Moderator
Staff member
Maybe not, but you can work around it.

Define your fill ins as enabled. In your global definitions have a string variable. On Entry to the fillin,
Code:
lvString = SELF:SCREEN-VALUE.
On VALUE-CHANGED of the fill-in,
Code:
SELF:SCREEN-VALUE = lvString.
You can then select the text for editing, but if the user tries to update it, it just sets it back to what it was.
 

GregTomkins

Active Member
Good God, what is wrong with you people? You seriously called Progress Tech Support for a question like this?

DEF VAR foo AS C VIEW-AS FILL-IN INIT "bar".
DISP foo.
foo:SENSITIVE = TRUE.
foo:READ-ONLY = TRUE.
WAIT-FOR CLOSE OF THIS-PROCEDURE.

Of course this looks like s**t, but you get the idea. It seems to fulfill the conditions specified in the first post.
 
Thanks for the replies. I had already got that (read only) to work and it was not an option. It does look like s**t and our users would never accept that. I tried every option I could think of before asking Another problem was it could grab a field, but in my original post I wanted to grab regions of text. Sorry that I was not clear, addresses are multiple fill-in fields on our system.

The actual problem is there is no way to select regions of text, since looping through dynamic widgets is pretty easy.
 
Top