PHP WinBinder: Tab Control 3: Difference between revisions

m
Reverted edits by Upazixorys (Talk); changed back to last version by BobS
No edit summary
m (Reverted edits by Upazixorys (Talk); changed back to last version by BobS)
 
Line 1: Line 1:
=[http://ipelasuq.co.cc Under Construction! Please Visit Reserve Page. Page Will Be Available Shortly]=
{{Nav PHP WinBinder}}
{{Nav PHP WinBinder}}
'''''Tab Control 3'''''
'''''Tab Control 3'''''
Line 22: Line 21:


For example:
For example:
<pre>
<pre>
wb_create_control($tab, Frame, &quot;Change&quot;,  185, 14,  92, 110, 0, 0, 0);  // create frame
wb_create_control($tab, Frame, "Change",  185, 14,  92, 110, 0, 0, 0);  // create frame
wb_create_control($tab, Frame, &quot;&quot;,          0,  0, 295, 173, 0, 0, 0);  // create frame
wb_create_control($tab, Frame, "",          0,  0, 295, 173, 0, 0, 0);  // create frame
&lt;/pre&gt;
</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:
&lt;pre&gt;
<pre>
bool wb_get_instance (string caption [, bool bringtofront])
bool wb_get_instance (string caption [, bool bringtofront])
&lt;/pre&gt;
</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
&lt;pre&gt;
<pre>
//=== 1) Create main window ---------------------------------------------------
//=== 1) Create main window ---------------------------------------------------
define(&quot;CAPTION&quot;, &quot;Test 6&quot;);            // Set caption to match application
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
&lt;/pre&gt;
</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


&lt;pre&gt;
<pre>
//=== 3) Assign handler function to the main window  --------------------------
//=== 3) Assign handler function to the main window  --------------------------
wb_set_handler($mainwin, &quot;process_main&quot;);
wb_set_handler($mainwin, "process_main");
   wb_set_image($mainwin, &quot;./&quot; . &quot;uslogo.ico&quot;);      // Add logo
   wb_set_image($mainwin, "./" . "uslogo.ico");      // Add logo
&lt;/pre&gt;
</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:
&lt;pre&gt;
<pre>
$mainwin = wb_create_window(NULL, AppWindow, &quot;Test 6&quot;, 320, 240);
$mainwin = wb_create_window(NULL, AppWindow, "Test 6", 320, 240);
&lt;/pre&gt;
</pre>
Change to this:
Change to this:
&lt;pre&gt;
<pre>
$mainwin = wb_create_window(NULL, AppWindow, &quot;Test 6&quot;, WBC_CENTER, WBC_CENTER, 320, 240, WBC_TASKBAR);
$mainwin = wb_create_window(NULL, AppWindow, "Test 6", WBC_CENTER, WBC_CENTER, 320, 240, WBC_TASKBAR);
&lt;/pre&gt;
</pre>
'''''[[#top | Top]]'''''
'''''[[#top | Top]]'''''
== Tab change detection ==
== Tab change detection ==
Line 78: Line 77:


The following was changed:
The following was changed:
&lt;pre&gt;
<pre>
$mainwin = wb_create_window(NULL, AppWindow, &quot;Test 6&quot;, WBC_CENTER, WBC_CENTER, 320, 240, WBC_TASKBAR);
$mainwin = wb_create_window(NULL, AppWindow, "Test 6", WBC_CENTER, WBC_CENTER, 320, 240, WBC_TASKBAR);
&lt;/pre&gt;
</pre>
To this:
To this:
&lt;pre&gt;
<pre>
$mainwin = wb_create_window(NULL, AppWindow, &quot;Test 6&quot;, WBC_CENTER, WBC_CENTER, 320, 240, WBC_NOTIFY| WBC_TASKBAR , WBC_HEADERSEL );
$mainwin = wb_create_window(NULL, AppWindow, "Test 6", WBC_CENTER, WBC_CENTER, 320, 240, WBC_NOTIFY| WBC_TASKBAR , WBC_HEADERSEL );
&lt;/pre&gt;
</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:
&lt;pre&gt;
<pre>
function process_main($window, $id)
function process_main($window, $id)
&lt;/pre&gt;
</pre>
Changes to this:
Changes to this:
&lt;pre&gt;
<pre>
function process_main($window, $id, $ctrl=0, $lparam1=0, $lparam2=0)
function process_main($window, $id, $ctrl=0, $lparam1=0, $lparam2=0)
&lt;/pre&gt;
</pre>


=== Test Code ===
=== Test Code ===
{|
{|
|-valign=&quot;top&quot;
|-valign="top"
|
|
&lt;pre&gt;
<pre>
   // TAB Change - Test
   // TAB Change - Test
   case 9000; //                                                ID of main TAB
   case 9000; //                                                ID of main TAB
   $text=&quot;ID = $id \n CTRL = $ctrl \n PARAM1 = $lparam1 \n PARAM2 =  $lparam2 &quot;;
   $text="ID = $id \n CTRL = $ctrl \n PARAM1 = $lparam1 \n PARAM2 =  $lparam2 ";
   wb_message_box($window, $text,&quot;TAB Pressed.&quot;, WBC_INFO);
   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, &quot;Case 0&quot;,&quot;TAB 0 Page 1&quot;, WBC_OK); // Call init 1     
       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, &quot;Case 1&quot;,&quot;TAB 1 Page 2&quot;, WBC_OKCANCEL); // Call init 2       
       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, &quot;Case 2&quot;,&quot;TAB 2 Page 3&quot;, WBC_WARNING); // Call init 3       
       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
&lt;/pre&gt;
</pre>
|
|
&lt;br /&gt;
<br />
'''''Test code'''''
'''''Test code'''''


Line 146: Line 145:
== Test 6 Script ==
== Test 6 Script ==
{|
{|
|-valign=&quot;top&quot;
|-valign="top"
|
|
&lt;pre&gt;
<pre>
&lt;?php
<?php
Include &quot;../php/include/winbinder.php&quot;;      // Location Of Winbinder Library
Include "../php/include/winbinder.php";      // Location Of Winbinder Library


//-- Constants ----------------------------------------------------------------
//-- Constants ----------------------------------------------------------------


//ID's Page 1
//ID's Page 1
define(&quot;ID_L1101&quot;, 1101); //Label
define("ID_L1101", 1101); //Label
define(&quot;ID_L1102&quot;, 1102);
define("ID_L1102", 1102);
define(&quot;ID_E1301&quot;, 1301); // Edit box
define("ID_E1301", 1301); // Edit box
define(&quot;ID_PB1201&quot;, 1201); // Push button
define("ID_PB1201", 1201); // Push button
define(&quot;ID_PB1202&quot;, 1202); // Push button
define("ID_PB1202", 1202); // Push button
define(&quot;ID_PB1203&quot;, 1203); // Push button
define("ID_PB1203", 1203); // Push button


//ID's Page 2
//ID's Page 2
define(&quot;ID_L2101&quot;, 2101); //Label
define("ID_L2101", 2101); //Label
define(&quot;ID_L2102&quot;, 2102);
define("ID_L2102", 2102);
define(&quot;ID_E2301&quot;, 2301); // Edit box
define("ID_E2301", 2301); // Edit box
define(&quot;ID_PB2201&quot;, 2201); // Push button
define("ID_PB2201", 2201); // Push button
define(&quot;ID_PB2202&quot;, 2202); // Push button
define("ID_PB2202", 2202); // Push button
define(&quot;ID_PB2203&quot;, 2203); // Push button
define("ID_PB2203", 2203); // Push button


//ID's Page 3
//ID's Page 3
define(&quot;ID_L3101&quot;, 3101); //Label
define("ID_L3101", 3101); //Label
define(&quot;ID_L3102&quot;, 3102);
define("ID_L3102", 3102);
define(&quot;ID_E3301&quot;, 3301); // Edit box
define("ID_E3301", 3301); // Edit box
define(&quot;ID_PB3201&quot;, 3201); // Push button
define("ID_PB3201", 3201); // Push button
define(&quot;ID_PB3202&quot;, 3202); // Push button
define("ID_PB3202", 3202); // Push button
define(&quot;ID_PB3203&quot;, 3203); // Push button
define("ID_PB3203", 3203); // Push button


//=== 1) Create main window ---------------------------------------------------
//=== 1) Create main window ---------------------------------------------------
define(&quot;CAPTION&quot;, &quot;Test 6&quot;);            // Set caption to match application
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, &quot;Test 6&quot;, WBC_CENTER, WBC_CENTER, 320, 240, WBC_NOTIFY| WBC_TASKBAR , WBC_HEADERSEL );
$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, &quot;Page1&quot;);
wb_create_items($tab, "Page1");
  wb_create_control($tab, Label,    &quot;Test label A&quot;, 10, 14, 112, 20,  ID_L1101, 0, 0, 0);
  wb_create_control($tab, Label,    "Test label A", 10, 14, 112, 20,  ID_L1101, 0, 0, 0);
  wb_create_control($tab, Label,    &quot;Test label B&quot;, 10, 34, 112, 20,  ID_L1102, 0, 0, 0);
  wb_create_control($tab, Label,    "Test label B", 10, 34, 112, 20,  ID_L1102, 0, 0, 0);
  wb_create_control($tab, EditBox,    &quot;&quot;,            10, 54, 112, 20,  ID_E1301, 0, 0, 0);
  wb_create_control($tab, EditBox,    "",            10, 54, 112, 20,  ID_E1301, 0, 0, 0);
  wb_create_control($tab, PushButton, &quot;Button A&quot;,    10, 90,  80, 22,  ID_PB1201, 0, 0, 0);
  wb_create_control($tab, PushButton, "Button A",    10, 90,  80, 22,  ID_PB1201, 0, 0, 0);
  wb_create_control($tab, PushButton, &quot;Button B&quot;,  100, 90,  80, 22,  ID_PB1202, 0, 0, 0);
  wb_create_control($tab, PushButton, "Button B",  100, 90,  80, 22,  ID_PB1202, 0, 0, 0);
  wb_create_control($tab, PushButton, &quot;Button C&quot;,  190, 90,  80, 22,  ID_PB1203, 0, 0, 0);
  wb_create_control($tab, PushButton, "Button C",  190, 90,  80, 22,  ID_PB1203, 0, 0, 0);


wb_create_control($tab, Frame, &quot;Change&quot;, 185, 14,  92, 110, 0, 0, 0);  // create frame
wb_create_control($tab, Frame, "Change", 185, 14,  92, 110, 0, 0, 0);  // create frame
wb_create_control($tab, Frame, &quot;&quot;,          0,  0, 295, 173,  0, 0, 0); // create 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, &quot;Page2&quot;);
wb_create_items($tab, "Page2");
  wb_create_control($tab, Label,    &quot;Test label C&quot;, 10, 14, 112, 20,  ID_L2101, 0, 0, 1);
  wb_create_control($tab, Label,    "Test label C", 10, 14, 112, 20,  ID_L2101, 0, 0, 1);
  wb_create_control($tab, Label,    &quot;Test label D&quot;, 10, 34, 112, 20,  ID_L2102, 0, 0, 1);
  wb_create_control($tab, Label,    "Test label D", 10, 34, 112, 20,  ID_L2102, 0, 0, 1);
  wb_create_control($tab, EditBox,    &quot;&quot;,            10, 54, 112, 20,  ID_E2301, 0, 0, 1);
  wb_create_control($tab, EditBox,    "",            10, 54, 112, 20,  ID_E2301, 0, 0, 1);
  wb_create_control($tab, PushButton, &quot;Button D&quot;,    10, 90,  80, 22,  ID_PB2201, 0, 0, 1);
  wb_create_control($tab, PushButton, "Button D",    10, 90,  80, 22,  ID_PB2201, 0, 0, 1);
  wb_create_control($tab, PushButton, &quot;Button E&quot;,  100, 90,  80, 22,  ID_PB2202, 0, 0, 1);
  wb_create_control($tab, PushButton, "Button E",  100, 90,  80, 22,  ID_PB2202, 0, 0, 1);
  wb_create_control($tab, PushButton, &quot;Button F&quot;,  190, 90,  80, 22,  ID_PB2203, 0, 0, 1);
  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, &quot;Page3&quot;);
wb_create_items($tab, "Page3");
  wb_create_control($tab, Label,    &quot;Test label E&quot;, 10, 14, 112, 20,  ID_L3101, 0, 0, 2);
  wb_create_control($tab, Label,    "Test label E", 10, 14, 112, 20,  ID_L3101, 0, 0, 2);
  wb_create_control($tab, Label,    &quot;Test label F&quot;, 10, 34, 112, 20,  ID_L3102, 0, 0, 2);
  wb_create_control($tab, Label,    "Test label F", 10, 34, 112, 20,  ID_L3102, 0, 0, 2);
  wb_create_control($tab, EditBox,    &quot;&quot;,            10, 54, 112, 20,  ID_E3301, 0, 0, 2);
  wb_create_control($tab, EditBox,    "",            10, 54, 112, 20,  ID_E3301, 0, 0, 2);
  wb_create_control($tab, PushButton, &quot;Button G&quot;,    10, 90,  80, 22,  ID_PB3201, 0, 0, 2);
  wb_create_control($tab, PushButton, "Button G",    10, 90,  80, 22,  ID_PB3201, 0, 0, 2);
  wb_create_control($tab, PushButton, &quot;Button H&quot;,  100, 90,  80, 22,  ID_PB3202, 0, 0, 2);
  wb_create_control($tab, PushButton, "Button H",  100, 90,  80, 22,  ID_PB3202, 0, 0, 2);
  wb_create_control($tab, PushButton, &quot;Button I&quot;,  190, 90,  80, 22,  ID_PB3203, 0, 0, 2);
  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, &quot;process_main&quot;);
wb_set_handler($mainwin, "process_main");
   wb_set_image($mainwin, &quot;./&quot; . &quot;uslogo.ico&quot;);      // Add logo         
   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=&quot;ID = $id \n CTRL = $ctrl \n PARAM1 = $lparam1 \n PARAM2 =  $lparam2 &quot;;
   $text="ID = $id \n CTRL = $ctrl \n PARAM1 = $lparam1 \n PARAM2 =  $lparam2 ";
   wb_message_box($window, $text,&quot;TAB Pressed.&quot;, WBC_INFO);
   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, &quot;Case 0&quot;,&quot;TAB 0 Page 1&quot;, WBC_OK); // Call init 1     
       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, &quot;Case 1&quot;,&quot;TAB 1 Page 2&quot;, WBC_OKCANCEL); // Call init 2       
       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, &quot;Case 2&quot;,&quot;TAB 2 Page 3&quot;, WBC_WARNING); // Call init 3       
       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),&quot;12345&quot;);
   wb_set_text(wb_get_control($window, ID_L1101),"12345");
   wb_set_text(wb_get_control($window, ID_L1102),&quot;67890&quot;);
   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),&quot;67890&quot;);
   wb_set_text(wb_get_control($window, ID_L1101),"67890");
   wb_set_text(wb_get_control($window, ID_L1102),&quot;12345&quot;);
   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),&quot;Page 1 &quot;.$text1);
   wb_set_text(wb_get_control($window, ID_L1101),"Page 1 ".$text1);
   wb_set_text(wb_get_control($window, ID_L1102),&quot;Page 1 &quot;.$text1);
   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, &quot;Page 3.&quot;,&quot;BUTTON G&quot;, WBC_INFO);
     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, &quot;Page 3.&quot;,&quot;BUTTON H&quot;, WBC_QUESTION);
     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, &quot;Page 3.&quot;,&quot;BUTTON I&quot;, WBC_YESNO);
     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),&quot;xxxx&quot;);
   wb_set_text(wb_get_control($window, ID_L2101),"xxxx");
   wb_set_text(wb_get_control($window, ID_L2102),&quot;yyyy&quot;);
   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),&quot;yyyy&quot;);
   wb_set_text(wb_get_control($window, ID_L2101),"yyyy");
   wb_set_text(wb_get_control($window, ID_L2102),&quot;xxxx&quot;);
   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),&quot;Page 2 &quot;.$text1);
   wb_set_text(wb_get_control($window, ID_L2101),"Page 2 ".$text1);
   wb_set_text(wb_get_control($window, ID_L2102),&quot;Page 2 &quot;.$text1);
   wb_set_text(wb_get_control($window, ID_L2102),"Page 2 ".$text1);
}
}
?&gt;
?>


&lt;/pre&gt;
</pre>
|}
|}