Try throwing in a Thisform.Refresh() or an thisform.edit1.Refresh() after you 
make the changes in the InteractiveChange event. 
 
I always use thisform.Refresh() 
 
 
 
----- Original Message ----- 
From: [EMAIL PROTECTED] on behalf of Tristan Leask  
Sent: Tue, 6/5/2007 5:26am 
To: profox@leafe.com 
Subject: RE: Valid event screwing with click event? 
 
I'm still having issues with this.  Below is some example code where you 
can modify the text in a list using the edit box.  When you leave the 
edit box focus, it asks you if you want to update the text.  However 
after it has updated the text, if the user has select another entry in 
the list it should then fire the interactivechange event and update the 
text to the newly selected entry. 
 
The interactivechange event doesn't fire though. 
 
Any ideas? 
 
Thanks 
 
Tristan 
 
 
Heres the test code.... 
 
 
PUBLIC testform 
testform=CREATEOBJECT("test") 
testform.show() 
 
 
DEFINE CLASS test AS form 
  Height = 193 
  Width = 349 
  Caption = "Form1" 
  Name = "Form1" 
  changes = .F. 
 
  ADD OBJECT edit1 AS editbox WITH ; 
    Height = 72, ; 
    Left = 168, ; 
    Top = 108, ; 
    Width = 168, ; 
    Name = "Edit1" 
 
  ADD OBJECT list1 AS listbox WITH ; 
    Height = 168, ; 
    Left = 12, ; 
    Top = 12, ; 
    Width = 144, ; 
    Name = "List1" 
 
  ADD OBJECT label1 AS label WITH ; 
    WordWrap = .T., ; 
    Caption = "Select an item in the listbox to the left and then edit 
its text below, then select another item in the list box.", ; 
    Height = 84, ; 
    Left = 168, ; 
    Top = 12, ; 
    Width = 168, ; 
    Name = "Label1" 
 
 
  PROCEDURE edit1.InteractiveChange 
    * Made some changes 
    thisform.changes=.T. 
  ENDPROC 
 
 
  PROCEDURE edit1.Valid 
    IF thisform.changes 
      lnAns=MESSAGEBOX("You have made changes.  Do you want to save 
them?",3+32,"Test") 
      DO CASE 
        CASE lnAns=2 
          * User cancelled dont do anything 
          RETURN .F. 
        CASE lnAns=6 
          * Save the changes 
          thisform.list1.ListItem[thisform.list1.ListItemId]=this.Value 
        OTHERWISE  
          * Dont Save the changes 
          this.Value=thisform.list1.ListItem[thisform.list1.ListItemId] 
      ENDCASE 
      thisform.changes=.F. 
    ENDIF 
  ENDPROC 
 
 
  PROCEDURE list1.InteractiveChange 
    * Load this value into the edit box 
    thisform.edit1.Value=this.Value 
  ENDPROC 
 
 
  PROCEDURE list1.Init 
    * Populate the list with crap 
    FOR x=1 TO 10 
      this.AddItem(SYS(2015)) 
    ENDFOR 
  ENDPROC 
 
 
ENDDEFINE 
 
 
--------------------------------------------------------------------------------------------------------------
 
This email was sent to [EMAIL PROTECTED] Unless otherwise agreed expressly in 
writing by Marine Software Limited,  
this communication and attachments are to be treated as confidential  
and the information in it may not be used or disclosed except for the  
purpose for which it was sent. 
If you are not the intended recipient of this  communication  you should  
destroy it without copying, disclosing or otherwise using its contents. 
Please notify the sender immediately of the error.  
[EMAIL PROTECTED] 
 
Marine Software Limited. Registered in England & Wales. No 2576494 
Regsitered Office. Unit3, Aylesham Business Pk, Aylesham. Kent. UK 
------------------------------------------------------------------------------------------------------------------
 
 
 
 
[excessive quoting removed by server]

_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/[EMAIL PROTECTED]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to