PHP WinBinder: Tab Control 3: Difference between revisions
PHP WinBinder: Tab Control 3 (view source)
Revision as of 08:24, 24 November 2010
, 24 November 2010Reverted edits by Upazixorys (Talk); changed back to last version by BobS
Upazixorys (talk | contribs) No edit summary |
m (Reverted edits by Upazixorys (Talk); changed back to last version by BobS) |
||
Line 1: | Line 1: | ||
{{Nav PHP WinBinder}} | {{Nav PHP WinBinder}} | ||
'''''Tab Control 3''''' | '''''Tab Control 3''''' | ||
Line 22: | Line 21: | ||
For example: | For example: | ||
<pre> | |||
wb_create_control($tab, Frame, | wb_create_control($tab, Frame, "Change", 185, 14, 92, 110, 0, 0, 0); // create frame | ||
wb_create_control($tab, Frame, | wb_create_control($tab, Frame, "", 0, 0, 295, 173, 0, 0, 0); // create frame | ||
</pre> | |||
The above code will add two frames to tab index 0 (first page) | The above code will add two frames to tab index 0 (first page) | ||
Line 31: | Line 30: | ||
== Single application instance == | == Single application instance == | ||
A single instance application can use this function: | A single instance application can use this function: | ||
<pre> | |||
bool wb_get_instance (string caption [, bool bringtofront]) | bool wb_get_instance (string caption [, bool bringtofront]) | ||
</pre> | |||
Each main window of all WinBinder applications stores a 32-bit identifier that is calculated according to the initial window caption and is unique to that caption. | Each main window of all WinBinder applications stores a 32-bit identifier that is calculated according to the initial window caption and is unique to that caption. | ||
Line 39: | Line 38: | ||
For example this code was added to test 6 | For example this code was added to test 6 | ||
<pre> | |||
//=== 1) Create main window --------------------------------------------------- | //=== 1) Create main window --------------------------------------------------- | ||
define( | define("CAPTION", "Test 6"); // Set caption to match application | ||
if(wb_get_instance(CAPTION, TRUE)) // Is there an existing instance? | if(wb_get_instance(CAPTION, TRUE)) // Is there an existing instance? | ||
die; // Yes: bring it to the front and quit | die; // Yes: bring it to the front and quit | ||
</pre> | |||
'''''[[#top | Top]]''''' | '''''[[#top | Top]]''''' | ||
== Add a logo-icon == | == Add a logo-icon == | ||
Line 51: | Line 50: | ||
For example, this code was added to test 6 | For example, this code was added to test 6 | ||
<pre> | |||
//=== 3) Assign handler function to the main window -------------------------- | //=== 3) Assign handler function to the main window -------------------------- | ||
wb_set_handler($mainwin, | wb_set_handler($mainwin, "process_main"); | ||
wb_set_image($mainwin, | wb_set_image($mainwin, "./" . "uslogo.ico"); // Add logo | ||
</pre> | |||
'''''[[#top | Top]]''''' | '''''[[#top | Top]]''''' | ||
== Application minimizes to system tray == | == Application minimizes to system tray == | ||
Line 61: | Line 60: | ||
For example, the original line was: | For example, the original line was: | ||
<pre> | |||
$mainwin = wb_create_window(NULL, AppWindow, | $mainwin = wb_create_window(NULL, AppWindow, "Test 6", 320, 240); | ||
</pre> | |||
Change to this: | Change to this: | ||
<pre> | |||
$mainwin = wb_create_window(NULL, AppWindow, | $mainwin = wb_create_window(NULL, AppWindow, "Test 6", WBC_CENTER, WBC_CENTER, 320, 240, WBC_TASKBAR); | ||
</pre> | |||
'''''[[#top | Top]]''''' | '''''[[#top | Top]]''''' | ||
== Tab change detection == | == Tab change detection == | ||
Line 78: | Line 77: | ||
The following was changed: | The following was changed: | ||
<pre> | |||
$mainwin = wb_create_window(NULL, AppWindow, | $mainwin = wb_create_window(NULL, AppWindow, "Test 6", WBC_CENTER, WBC_CENTER, 320, 240, WBC_TASKBAR); | ||
</pre> | |||
To this: | To this: | ||
<pre> | |||
$mainwin = wb_create_window(NULL, AppWindow, | $mainwin = wb_create_window(NULL, AppWindow, "Test 6", WBC_CENTER, WBC_CENTER, 320, 240, WBC_NOTIFY| WBC_TASKBAR , WBC_HEADERSEL ); | ||
</pre> | |||
* When a tab is clicked, the main tab ID is sent back to the handler function | * When a tab is clicked, the main tab ID is sent back to the handler function | ||
* In addition the tab index is set to $lparm2 | * In addition the tab index is set to $lparm2 | ||
Line 92: | Line 91: | ||
This line: | This line: | ||
<pre> | |||
function process_main($window, $id) | function process_main($window, $id) | ||
</pre> | |||
Changes to this: | Changes to this: | ||
<pre> | |||
function process_main($window, $id, $ctrl=0, $lparam1=0, $lparam2=0) | function process_main($window, $id, $ctrl=0, $lparam1=0, $lparam2=0) | ||
</pre> | |||
=== Test Code === | === Test Code === | ||
{| | {| | ||
|-valign= | |-valign="top" | ||
| | | | ||
<pre> | |||
// TAB Change - Test | // TAB Change - Test | ||
case 9000; // ID of main TAB | case 9000; // ID of main TAB | ||
$text= | $text="ID = $id \n CTRL = $ctrl \n PARAM1 = $lparam1 \n PARAM2 = $lparam2 "; | ||
wb_message_box($window, $text, | wb_message_box($window, $text,"TAB Pressed.", WBC_INFO); | ||
switch($lparam2) { | switch($lparam2) { | ||
case 0: // Tab index 0 or page 1 | case 0: // Tab index 0 or page 1 | ||
wb_message_box($window, | wb_message_box($window, "Case 0","TAB 0 Page 1", WBC_OK); // Call init 1 | ||
break; | break; | ||
case 1: // Tab index 1 or page 2 | case 1: // Tab index 1 or page 2 | ||
wb_message_box($window, | wb_message_box($window, "Case 1","TAB 1 Page 2", WBC_OKCANCEL); // Call init 2 | ||
break; | break; | ||
case 2: // Tab index 2 or page 3 | case 2: // Tab index 2 or page 3 | ||
wb_message_box($window, | wb_message_box($window, "Case 2","TAB 2 Page 3", WBC_WARNING); // Call init 3 | ||
break; | break; | ||
} | } | ||
Line 127: | Line 126: | ||
break; | break; | ||
// END TAB Change - Test | // END TAB Change - Test | ||
</pre> | |||
| | | | ||
<br /> | |||
'''''Test code''''' | '''''Test code''''' | ||
Line 146: | Line 145: | ||
== Test 6 Script == | == Test 6 Script == | ||
{| | {| | ||
|-valign= | |-valign="top" | ||
| | | | ||
<pre> | |||
<?php | |||
Include | Include "../php/include/winbinder.php"; // Location Of Winbinder Library | ||
//-- Constants ---------------------------------------------------------------- | //-- Constants ---------------------------------------------------------------- | ||
//ID's Page 1 | //ID's Page 1 | ||
define( | define("ID_L1101", 1101); //Label | ||
define( | define("ID_L1102", 1102); | ||
define( | define("ID_E1301", 1301); // Edit box | ||
define( | define("ID_PB1201", 1201); // Push button | ||
define( | define("ID_PB1202", 1202); // Push button | ||
define( | define("ID_PB1203", 1203); // Push button | ||
//ID's Page 2 | //ID's Page 2 | ||
define( | define("ID_L2101", 2101); //Label | ||
define( | define("ID_L2102", 2102); | ||
define( | define("ID_E2301", 2301); // Edit box | ||
define( | define("ID_PB2201", 2201); // Push button | ||
define( | define("ID_PB2202", 2202); // Push button | ||
define( | define("ID_PB2203", 2203); // Push button | ||
//ID's Page 3 | //ID's Page 3 | ||
define( | define("ID_L3101", 3101); //Label | ||
define( | define("ID_L3102", 3102); | ||
define( | define("ID_E3301", 3301); // Edit box | ||
define( | define("ID_PB3201", 3201); // Push button | ||
define( | define("ID_PB3202", 3202); // Push button | ||
define( | define("ID_PB3203", 3203); // Push button | ||
//=== 1) Create main window --------------------------------------------------- | //=== 1) Create main window --------------------------------------------------- | ||
define( | define("CAPTION", "Test 6"); // Set caption to match application | ||
if(wb_get_instance(CAPTION, TRUE)) // Is there an existing instance? | if(wb_get_instance(CAPTION, TRUE)) // Is there an existing instance? | ||
die; // Yes: bring it to the front and quit | die; // Yes: bring it to the front and quit | ||
$mainwin = wb_create_window(NULL, AppWindow, | $mainwin = wb_create_window(NULL, AppWindow, "Test 6", WBC_CENTER, WBC_CENTER, 320, 240, WBC_NOTIFY| WBC_TASKBAR , WBC_HEADERSEL ); | ||
//=== 2) Create controls for the main window ---------------------------------- | //=== 2) Create controls for the main window ---------------------------------- | ||
Line 191: | Line 190: | ||
//Create Tab 0 - Page 1 | //Create Tab 0 - Page 1 | ||
wb_create_items($tab, | wb_create_items($tab, "Page1"); | ||
wb_create_control($tab, Label, | wb_create_control($tab, Label, "Test label A", 10, 14, 112, 20, ID_L1101, 0, 0, 0); | ||
wb_create_control($tab, Label, | wb_create_control($tab, Label, "Test label B", 10, 34, 112, 20, ID_L1102, 0, 0, 0); | ||
wb_create_control($tab, EditBox, | wb_create_control($tab, EditBox, "", 10, 54, 112, 20, ID_E1301, 0, 0, 0); | ||
wb_create_control($tab, PushButton, | wb_create_control($tab, PushButton, "Button A", 10, 90, 80, 22, ID_PB1201, 0, 0, 0); | ||
wb_create_control($tab, PushButton, | wb_create_control($tab, PushButton, "Button B", 100, 90, 80, 22, ID_PB1202, 0, 0, 0); | ||
wb_create_control($tab, PushButton, | wb_create_control($tab, PushButton, "Button C", 190, 90, 80, 22, ID_PB1203, 0, 0, 0); | ||
wb_create_control($tab, Frame, | wb_create_control($tab, Frame, "Change", 185, 14, 92, 110, 0, 0, 0); // create frame | ||
wb_create_control($tab, Frame, | wb_create_control($tab, Frame, "", 0, 0, 295, 173, 0, 0, 0); // create frame | ||
//Create Tab 1 - Page 2 | //Create Tab 1 - Page 2 | ||
wb_create_items($tab, | wb_create_items($tab, "Page2"); | ||
wb_create_control($tab, Label, | wb_create_control($tab, Label, "Test label C", 10, 14, 112, 20, ID_L2101, 0, 0, 1); | ||
wb_create_control($tab, Label, | wb_create_control($tab, Label, "Test label D", 10, 34, 112, 20, ID_L2102, 0, 0, 1); | ||
wb_create_control($tab, EditBox, | wb_create_control($tab, EditBox, "", 10, 54, 112, 20, ID_E2301, 0, 0, 1); | ||
wb_create_control($tab, PushButton, | wb_create_control($tab, PushButton, "Button D", 10, 90, 80, 22, ID_PB2201, 0, 0, 1); | ||
wb_create_control($tab, PushButton, | wb_create_control($tab, PushButton, "Button E", 100, 90, 80, 22, ID_PB2202, 0, 0, 1); | ||
wb_create_control($tab, PushButton, | wb_create_control($tab, PushButton, "Button F", 190, 90, 80, 22, ID_PB2203, 0, 0, 1); | ||
//Create Tab 2 - Page 3 | //Create Tab 2 - Page 3 | ||
wb_create_items($tab, | wb_create_items($tab, "Page3"); | ||
wb_create_control($tab, Label, | wb_create_control($tab, Label, "Test label E", 10, 14, 112, 20, ID_L3101, 0, 0, 2); | ||
wb_create_control($tab, Label, | wb_create_control($tab, Label, "Test label F", 10, 34, 112, 20, ID_L3102, 0, 0, 2); | ||
wb_create_control($tab, EditBox, | wb_create_control($tab, EditBox, "", 10, 54, 112, 20, ID_E3301, 0, 0, 2); | ||
wb_create_control($tab, PushButton, | wb_create_control($tab, PushButton, "Button G", 10, 90, 80, 22, ID_PB3201, 0, 0, 2); | ||
wb_create_control($tab, PushButton, | wb_create_control($tab, PushButton, "Button H", 100, 90, 80, 22, ID_PB3202, 0, 0, 2); | ||
wb_create_control($tab, PushButton, | wb_create_control($tab, PushButton, "Button I", 190, 90, 80, 22, ID_PB3203, 0, 0, 2); | ||
//=== 3) Assign handler function to the main window -------------------------- | //=== 3) Assign handler function to the main window -------------------------- | ||
wb_set_handler($mainwin, | wb_set_handler($mainwin, "process_main"); | ||
wb_set_image($mainwin, | wb_set_image($mainwin, "./" . "uslogo.ico"); // Add logo | ||
//=== 5) Enter application loop ----------------------------------------------- | //=== 5) Enter application loop ----------------------------------------------- | ||
Line 236: | Line 235: | ||
// TAB Change - Test | // TAB Change - Test | ||
case 9000; // ID of main TAB | case 9000; // ID of main TAB | ||
$text= | $text="ID = $id \n CTRL = $ctrl \n PARAM1 = $lparam1 \n PARAM2 = $lparam2 "; | ||
wb_message_box($window, $text, | wb_message_box($window, $text,"TAB Pressed.", WBC_INFO); | ||
switch($lparam2) { | switch($lparam2) { | ||
case 0: // Tab index 0 or page 1 | case 0: // Tab index 0 or page 1 | ||
wb_message_box($window, | wb_message_box($window, "Case 0","TAB 0 Page 1", WBC_OK); // Call init 1 | ||
break; | break; | ||
case 1: // Tab index 1 or page 2 | case 1: // Tab index 1 or page 2 | ||
wb_message_box($window, | wb_message_box($window, "Case 1","TAB 1 Page 2", WBC_OKCANCEL); // Call init 2 | ||
break; | break; | ||
case 2: // Tab index 2 or page 3 | case 2: // Tab index 2 or page 3 | ||
wb_message_box($window, | wb_message_box($window, "Case 2","TAB 2 Page 3", WBC_WARNING); // Call init 3 | ||
break; | break; | ||
} | } | ||
Line 259: | Line 258: | ||
//== Page 1 | //== Page 1 | ||
case ID_PB1201: // Button A | case ID_PB1201: // Button A | ||
wb_set_text(wb_get_control($window, ID_L1101), | wb_set_text(wb_get_control($window, ID_L1101),"12345"); | ||
wb_set_text(wb_get_control($window, ID_L1102), | wb_set_text(wb_get_control($window, ID_L1102),"67890"); | ||
break; | break; | ||
case ID_PB1202: // Button B | case ID_PB1202: // Button B | ||
wb_set_text(wb_get_control($window, ID_L1101), | wb_set_text(wb_get_control($window, ID_L1101),"67890"); | ||
wb_set_text(wb_get_control($window, ID_L1102), | wb_set_text(wb_get_control($window, ID_L1102),"12345"); | ||
break; | break; | ||
Line 271: | Line 270: | ||
case ID_PB1203: // Button C | case ID_PB1203: // Button C | ||
$text1 = wb_get_text(wb_get_control($window, ID_E1301)); | $text1 = wb_get_text(wb_get_control($window, ID_E1301)); | ||
wb_set_text(wb_get_control($window, ID_L1101), | wb_set_text(wb_get_control($window, ID_L1101),"Page 1 ".$text1); | ||
wb_set_text(wb_get_control($window, ID_L1102), | wb_set_text(wb_get_control($window, ID_L1102),"Page 1 ".$text1); | ||
break; | break; | ||
Line 290: | Line 289: | ||
//== Page 3 | //== Page 3 | ||
case ID_PB3201: // Button G | case ID_PB3201: // Button G | ||
wb_message_box($window, | wb_message_box($window, "Page 3.","BUTTON G", WBC_INFO); | ||
break; | break; | ||
case ID_PB3202: // Button H | case ID_PB3202: // Button H | ||
wb_message_box($window, | wb_message_box($window, "Page 3.","BUTTON H", WBC_QUESTION); | ||
break; | break; | ||
case ID_PB3203: // Button I | case ID_PB3203: // Button I | ||
wb_message_box($window, | wb_message_box($window, "Page 3.","BUTTON I", WBC_YESNO); | ||
break; | break; | ||
Line 309: | Line 308: | ||
function button_D($window){ | function button_D($window){ | ||
wb_set_text(wb_get_control($window, ID_L2101), | wb_set_text(wb_get_control($window, ID_L2101),"xxxx"); | ||
wb_set_text(wb_get_control($window, ID_L2102), | wb_set_text(wb_get_control($window, ID_L2102),"yyyy"); | ||
} | } | ||
function button_E($window){ | function button_E($window){ | ||
wb_set_text(wb_get_control($window, ID_L2101), | wb_set_text(wb_get_control($window, ID_L2101),"yyyy"); | ||
wb_set_text(wb_get_control($window, ID_L2102), | wb_set_text(wb_get_control($window, ID_L2102),"xxxx"); | ||
} | } | ||
function button_F($window){ | function button_F($window){ | ||
$text1 = wb_get_text(wb_get_control($window, ID_E2301)); | $text1 = wb_get_text(wb_get_control($window, ID_E2301)); | ||
wb_set_text(wb_get_control($window, ID_L2101), | wb_set_text(wb_get_control($window, ID_L2101),"Page 2 ".$text1); | ||
wb_set_text(wb_get_control($window, ID_L2102), | wb_set_text(wb_get_control($window, ID_L2102),"Page 2 ".$text1); | ||
} | } | ||
? | ?> | ||
</pre> | |||
|} | |} | ||