Shoutbox

Set window size - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4)
+---- Forum: Scripting (/forumdisplay.php?fid=39)
+----- Thread: Set window size (/showthread.php?tid=78300)

Set window size by Neon_ on 10-18-2007 at 10:01 PM

How would I go about writing code to set the width and height of the chat window to a specific size? or it this even possible? Thanks in advance for the help.


RE: Set window size by deAd on 10-18-2007 at 10:03 PM

Use the SetWindowPos function :)


RE: Set window size by Neon_ on 10-19-2007 at 02:07 AM

So I think I have everything set except for the HWND param, I don't know what to put there exactly. This is what I wrote out for the rest of the line:

SetWindowPos(???, HWND_TOP, 0, 0, 700, 500, SWP_NOMOVE);


RE: Set window size by Spunky on 10-19-2007 at 09:34 AM

HWND is the Handle to the window, a unique indetifier that Windows uses instead of a name.  If you can access the ChatWnd object, you just use ChatWnd.Handle else you will have to  iterate the chat windows for the one that you want


RE: Set window size by Neon_ on 10-19-2007 at 08:45 PM

All I'm trying to do is make a simple command that will resize my chat window to a specific size. Anyone think they can help me finish it? I'm kind of lost at the errors I'm getting. This is what I have so far:

code:
function OnEvent_ChatWndSendMessage(ChatWnd,Message)
{
    if (Message=="/sfix"){
        SetWindowPos(ChatWnd.Handle, HWND_TOP, 0, 0, 700, 500, SWP_NOMOVE | SWP_NOZORDER);
    return"";
    }
}

RE: RE: Set window size by felipEx on 10-19-2007 at 08:53 PM

quote:
Originally posted by Neon_
All I'm trying to do is make a simple command that will resize my chat window to a specific size. Anyone think they can help me finish it? I'm kind of lost at the errors I'm getting. This is what I have so far:

code:
function OnEvent_ChatWndSendMessage(ChatWnd,Message)
{
    if (Message=="/sfix"){
        SetWindowPos(ChatWnd.Handle, HWND_TOP, 0, 0, 700, 500, SWP_NOMOVE | SWP_NOZORDER);
    return"";
    }
}


it works fine here :)

code:
function OnEvent_ChatWndSendMessage(ChatWnd,Message)
{
    if (Message=="/sfix"){
Interop.Call("user32", "SetWindowPos", ChatWnd.Handle, 0, 0, 0, 700, 500, 2);


//SetWindowPos(ChatWnd.Handle, HWND_TOP, 0, 0, 700, 500, SWP_NOMOVE | SWP_NOZORDER);
    return"";
    }
}

RE: Set window size by Neon_ on 10-19-2007 at 11:08 PM

Thanks a lot, works like a charm, much apreciated. :D


RE: Set window size by Spunky on 10-20-2007 at 05:43 PM

API calls work differently. You need to use Interop.Call to call them and pass the DLL name and function name along with any paramaters the function will use, just so you know


RE: Set window size by Matti on 10-21-2007 at 03:02 PM

And don't forget that those HWND_TOP and other constants aren't pre-defined in JScript, so you'll need to look up their values. A good resource for that would be m00.cx's Win32 API constants list.

I hope the following example (which is almost identical to the previous replies) will show you how all this is used practically in a way that you and any other developer can understand what it does:

code:
//I define the constants globally, because you don't need to change them anymore in the script and you may need them in multiple parts of your script. If you're only planning to use those once, it may be more interesting to use something like DoThis(/* HWND_TOP */ 0) instead of using DoThis(HWND_TOP) with HWND_TOP defined globally.
var HWND_TOP = 0;
var SWP_NOMOVE = 0x2;
var SWP_NOZORDER = 0x4;

function OnEvent_ChatWndSendMessage(ChatWnd, Message) {
   if(Message == "/sfix") {
      Interop.Call("user32", "SetWindowPos", ChatWnd.Handle, HWND_TOP, 0, 0, 700, 500, SWP_NOMOVE | SWPNOZORDER);
   }
}