| Disable access to parent chat window when child xml window open | 
| Author: | Message: | 
| the andyman Junior Member
 
   
 
  Windows Live Fanatic
 
 Posts: 92
 Reputation: 4
 – /
  /  Joined: Apr 2005
 
 | | O.P.  Disable access to parent chat window when child xml window open Is it possible to make it so that a window that is brought up by a script has to be on top of the conversation window that it was brought up by. I.e. the script/new xml window has to closed or another action taken in it which closes it before anything can be done or clicked in the parent (conversation) window.
 I have tried looking for info in the script docs for this with no luck. I presume it will probably be some tag or property I need to add to the xml of the new window.
 
 I hope someone understands what I mean and can help. Thanks.
 
 
 EDIT: I am also having trouble closing the new xml window when one of the buttons is pressed, in the js I'm telling it to Wnd.Close(1); when either is pressed, is this right?
 This post was edited on 12-05-2006 at 10:29 PM by the andyman.
 | 
 | 
| 12-05-2006 10:27 PM |  | 
|  | 
| Matti Elite Member
 
      
 
  Script Developer and Helper
 
 Posts: 1646
 Reputation: 39
 33 /
  /  Joined: Apr 2004
 
 | | RE: Disable access to parent chat window when child xml window open quote:Originally posted by MSDN
 The EnableWindow function enables or disables mouse and keyboard input to the specified window or control. When input is disabled, the window does not receive input such as mouse clicks and key presses. When input is enabled, the window receives all input.
 
 Syntax:
 code:Parameters:BOOL EnableWindow(
 
 HWND hWnd,
 BOOL bEnable
 );
 
 hWnd[in] Handle to the window to be enabled or disabled.
 
bEnable[in] Specifies whether to enable or disable the window. If this parameter is TRUE, the window is enabled. If the parameter is FALSE, the window is disabled.
 
 So, a good way to do it would be:
 code:Interop.Call("user32.dll", "EnableWindow", Wnd.Handle, false);
 
 where Wnd  is a valid ChatWnd object.    
As for your closing problem, make sure you call it right:
 code:function OnWndEvent_CtrlClicked(Wnd, Id) {
 if(Id == "BtnOk") {
 Wnd.Close(0); //The number doesn't really matter, but it's more common to just set it to zero
 }
 }
 
 Maybe it would be helpful if you post the code snippet where you call the Close function.  This post was edited on 12-06-2006 at 03:24 PM by Matti.
 | 
 | 
| 12-06-2006 03:23 PM |  | 
|  | 
| the andyman Junior Member
 
   
 
  Windows Live Fanatic
 
 Posts: 92
 Reputation: 4
 – /
  /  Joined: Apr 2005
 
 | | O.P.  RE: Disable access to parent chat window when child xml window open Thanks   , I'll have a play around with the info you've given me 
 The window disable works great (although if you go off the windows and then back to the conversation window the xml window isn't on top) but thanks anyway, I'm sure it's fine as it is    
As for the closing problem this is basically what I've got: code:function OnconfirmEvent_CtrlClicked(Wnd, Id){
 if(Id == "BtnYes"){
 // do other stuff I want it to do, then:
 return Message;
 Wnd.Close(0);
 Interop.Call("user32.dll", "EnableWindow", ChatWnd.Handle, true);
 }else{
 Wnd.Close(0);
 Interop.Call("user32.dll", "EnableWindow", ChatWnd.Handle, true);
 // do other stuff I want it to do, then:
 return false;
 }
 }
 
This post was edited on 12-07-2006 at 06:58 PM by Tochjo.
 | 
 | 
| 12-06-2006 04:54 PM |  | 
|  | 
| J-Thread Full Member
 
    
 
  
 Posts: 467
 Reputation: 8
 – /
  / – Joined: Jul 2004
 
 | | RE: RE: Disable access to parent chat window when child xml window open quote:Originally posted by the andyman
 
 code:return Message;
 Wnd.Close(0);
 Interop.Call("user32.dll", "EnableWindow", ChatWnd.Handle, true);
 
 
 
 Code after the return will not be executed. Make that:
 code:Wnd.Close(0);
 Interop.Call("user32.dll", "EnableWindow", ChatWnd.Handle, true);
 return Message;
 
 
 | 
 | 
| 12-06-2006 10:29 PM |  | 
|  | 
| the andyman Junior Member
 
   
 
  Windows Live Fanatic
 
 Posts: 92
 Reputation: 4
 – /
  /  Joined: Apr 2005
 
 | | O.P.  RE: Disable access to parent chat window when child xml window open Thanks, but the window is still not closing. I can't see any problem with it either   | 
 | 
| 12-07-2006 06:17 PM |  | 
|  | 
| Matti Elite Member
 
      
 
  Script Developer and Helper
 
 Posts: 1646
 Reputation: 39
 33 /
  /  Joined: Apr 2004
 
 | | RE: RE: Disable access to parent chat window when child xml window open code:function OnconfirmEvent_CtrlClicked(Wnd, Id){
 if(Id == "BtnYes"){
 // do other stuff I want it to do, then:
 return Message;
 Wnd.Close(0);
 Interop.Call("user32.dll", "EnableWindow", ChatWnd.Handle, true);
 }else{
 Wnd.Close(0);
 Interop.Call("user32.dll", "EnableWindow", ChatWnd.Handle, true);
 // do other stuff I want it to do, then:
 return false;
 }
 }
 
 Why do you want to return something anyway? The scripting documentation says it doesn't need a return value for the OnWndEvent_CtrlClicked event, so why would you?   
Other than that, I don't actually see the problem... but where did you define that ChatWnd variable?    
And also, do you have anything in your debugging window?This post was edited on 12-07-2006 at 07:39 PM by Matti.
 | 
 | 
| 12-07-2006 07:39 PM |  | 
|  | 
| the andyman Junior Member
 
   
 
  Windows Live Fanatic
 
 Posts: 92
 Reputation: 4
 – /
  /  Joined: Apr 2005
 
 | | O.P.  RE: RE: RE: Disable access to parent chat window when child xml window open quote:Originally posted by Mattike
 Why do you want to return something anyway? The scripting documentation says it doesn't need a return value for the OnWndEvent_CtrlClicked event, so why would you?
  
 because if one of the options is clicked in the xml windows then the message is send otherwise it isn't
 quote:Originally posted by Mattike
 where did you define that ChatWnd variable?
  
 in a function OnEvent_ChatWndSendMessage(ChatWnd, Message){ before the code I posted above
 quote:Originally posted by Mattike
 And also, do you have anything in your debugging window?
 
 I'm pretty sure I didn't before but now it does say that 'ChatWnd' is undefined, but only on the lines where I re-enable it   . By the looks of it if I get that bit fixed then the whole thing should work   . | 
 | 
| 12-07-2006 08:53 PM |  | 
|  | 
| Spunky Former Super Mod
 
      
 
  
 Posts: 3656
 Reputation: 61
 37 /
  /  Joined: Aug 2006
 
 | | RE: Disable access to parent chat window when child xml window open quote:Originally posted by the andyman
 I'm pretty sure I didn't before but now it does say that 'ChatWnd' is undefined, but only on the lines where I re-enable it . By the looks of it if I get that bit fixed then the whole thing should work .
 
 
Remember to store the ChatWnd in a global variable (defined outside of a function, if you haven't already) else when you enter a different function it won't exist
This post was edited on 12-07-2006 at 09:40 PM by Spunky.
 <Eljay> "Problems encountered: shit blew up"   | 
 | 
| 12-07-2006 09:40 PM |  | 
|  | 
| the andyman Junior Member
 
   
 
  Windows Live Fanatic
 
 Posts: 92
 Reputation: 4
 – /
  /  Joined: Apr 2005
 
 | | O.P.  RE: RE: Disable access to parent chat window when child xml window open quote:Originally posted by SpunkyLoveMuff
 Remember to store the ChatWnd in a global variable (defined outside of a function, if you haven't already) else when you enter a different function it won't exist
 
 yeah I worked that out last night but thanks anyway
 
It does seem to be working properly now except only when I use the enter button to send a message, not the "Send" button    
Also, is there any way to remove the text that is left in the text box in the conversation window? | 
 | 
| 12-08-2006 05:54 PM |  | 
|  | 
| CookieRevised Elite Member
 
      
 
  
 Posts: 15494
 Reputation: 173
 – /
  /  Joined: Jul 2003
 Status: Away
 
 | | RE: Disable access to parent chat window when child xml window open quote:Originally posted by the andyman
 yeah I worked that out last night but thanks anyway
 
 It does seem to be working properly now except only when I use the enter button to send a message, not the "Send" button
  
 
 You better post the entire script so all this can be checked upon properly. Because it sounds like you're doing some wrong thingie somewhere, maybe...
 
Also, what you actually want is making a dialog "modal". This means it will recieve all input until it closes and only then the "parent" window will be able to recieve input again. I doubt the EnableWindow API is the correct thing to use, that is: the only thing to use...
 
But I may be wrong in this (need todo some looking up). 
 quote:Originally posted by the andyman
 Also, is there any way to remove the text that is left in the text box in the conversation window?
 
 Return an empty string from the ChatWndSendMessage event.
.-= A 'frrrrrrrituurrr' for Wacky =-. | 
 | 
| 12-08-2006 07:07 PM |  | 
|  | 
| Pages: (2): 
« First
  
 [ 1 ]
 2
 
»
 
Last » | 
|  |