Core Function GUIMsgFilter

From Sputnik Wiki
(Difference between revisions)
Jump to: navigation, search
(Examples)
Line 25: Line 25:
  
 
<syntaxhighlight lang="sputnik">
 
<syntaxhighlight lang="sputnik">
// Create the MDI GUI
 
$GUI = GUICreate("MDIWindow", "GUI", 800, 600);
 
// Show the MDI GUI
 
GUILoad( $GUI );
 
 
 
// Create the Design Window
 
// Create the Design Window
$Window = GUICreate("Window", "GUI", 640, 482, 0, 0);
+
$Window = GUICreate("Window", "Test GUI", 640, 482, 0, 0);
GUIMDIParent($Window, $GUI);
+
 
// Show the Design Window
 
// Show the Design Window
 
GUILoad( $Window );
 
GUILoad( $Window );
Line 43: Line 37:
  
 
// Create the GUI msgFilter
 
// Create the GUI msgFilter
GUIMsgFilter($Window, "myMsgFilter();");
+
GUIMsgFilter($Window, 'myMsgFilter($HWND, $MSG, $WParam, $LParam);');
 
+
 
// Keep the GUI running as long as long as the window is open
 
// Keep the GUI running as long as long as the window is open
While ( GUIStatus( $GUI ) ) DoEvents( );
+
While ( GUIStatus( $Window ) ) DoEvents( );
  
 
// When you create a msgfilter 4 variables are automatically created for you
 
// When you create a msgfilter 4 variables are automatically created for you
Line 54: Line 48:
 
// $LPARAM
 
// $LPARAM
 
// All them names should be familiar to you
 
// All them names should be familiar to you
Function myMsgFilter()
+
Function myMsgFilter($HWND, $MSG, $WParam, $LParam)
 
{
 
{
 
println("HWND: " . $HWND . " | MSG: " . $MSG . " | WParam: " . $WParam . " | LParam: " . $LParam);
 
println("HWND: " . $HWND . " | MSG: " . $MSG . " | WParam: " . $WParam . " | LParam: " . $LParam);
Line 63: Line 57:
 
Function Send()
 
Function Send()
 
{
 
{
$Handle = GUIGetProp($GUI, "Handle"); // Get the HWND of our window
+
my $Handle = GUIGetProp($Window, "Handle"); // Get the HWND of our window
 
// Send a message to the window containing 2 unique numbers 777 and 1337
 
// Send a message to the window containing 2 unique numbers 777 and 1337
 
// Just to see if they appear in the filter
 
// Just to see if they appear in the filter
DLLCall("user32.dll", "PostMessage", "Int32", "iIII", $Handle, 160, 777, 1337);
+
DLLCall("user32.dll", "PostMessage", "Int32", "tItt", "Ansi", $Handle, 160, 777, 1337);
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
[[Category:Core Function]]
 
[[Category:Core Function]]

Revision as of 21:55, 30 September 2013

GUIMsgFilter( <gui>, <command> )

Contents

Description

Use a function to receive all messages windows sends to the GUI window (HWND, MSG, WPARAM, LPARAM).

Parameters

gui

The GUI to link the MsgFilter to.

command

Either a command to execute or a function to call etc.

Return Value

Success: Returns 1. Failure: Returns 0.

Examples

// Create the Design Window
$Window = GUICreate("Window", "Test GUI", 640, 482, 0, 0);
// Show the Design Window
GUILoad( $Window );
 
// Create the GUI objects
$b1 = GUICreate("Button", $Window, "Send", 8, 8);
 
// Add a link
GUILink($b1, "Click", 'Send();');
 
// Create the GUI msgFilter
GUIMsgFilter($Window, 'myMsgFilter($HWND, $MSG, $WParam, $LParam);');
 
// Keep the GUI running as long as long as the window is open
While ( GUIStatus( $Window ) ) DoEvents( );
 
// When you create a msgfilter 4 variables are automatically created for you
// $HWND
// $MSG
// $WPARAM
// $LPARAM
// All them names should be familiar to you
Function myMsgFilter($HWND, $MSG, $WParam, $LParam)
{
	println("HWND: " . $HWND . " | MSG: " . $MSG . " | WParam: " . $WParam . " | LParam: " . $LParam);
	return 0; // If you return HIGHER than 0 the msgfilter will be removed
}
 
// The button click goes here this will simply just be something to test out the msgFilter
Function Send()
{
	my $Handle = GUIGetProp($Window, "Handle"); // Get the HWND of our window
	// Send a message to the window containing 2 unique numbers 777 and 1337
	// Just to see if they appear in the filter
	DLLCall("user32.dll", "PostMessage", "Int32", "tItt", "Ansi", $Handle, 160, 777, 1337);
}
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox