Re: Simple button bars with a xTab

"[email protected] [gui4cli]" <[email protected]> 02 Sep 2014 02:43:20 -0700
Newsgroups gmane.comp.windows.gui4cli
Message-ID <[email protected]>
--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV
Content-Type:  text/plain;  charset=utf-8 
Content-Transfer-Encoding: base64

DQpIaSBEaW1pdHJpcywNCg0KPiBJdCBjb3VsZCBwcm9iYWJseSBiZSBkb25lIHVzaW5nIGFu
ICJvd25lciBkcmF3biIgdGFiIGFuZCBpZ25vcmluZyB0aGUgY2FsbCB0byBkcmF3IHRoZSBn
aXZlbiB0YWIsDQo+IGJ1dCAoYSkgdGhhdCB3b3VsZCBsZWF2ZSBhbiB1bmRyYXduIHNwYWNl
IGFuZCAoYikgaXRzIGZhciB0b28gbXVjaCB3b3JrIDopDQoNCldlbGwsIGZvciBwZXJzb25h
bCB1c2UgdGhlIGVtcHR5IGJ1dHRvbiBkb2Vzbid0IG1hdHRlciB0byBtdWNoLiBGb3IgYSBw
dWJsaWMgYXBwbGljYXRpb25zLCB1c2Vycw0KbWF5IGZpbmQgaXQgYSBiaXQgc3RyYW5nZS4g
UGVyaGFwcyBwdXQgYSBuaWNlIEljb24gb24gaXQ/DQpJdCB3b3JrcyBmaW5lIGFuZCBzYXZl
cyBhIGxvdCBvZiBidXR0b24gY29kZS4gSW4gdGhlIG9yaWdpbmFsIGV4YW1wbGUgY29kZSBJ
IGZvcmdvdCB0byBhZGQgdGhlDQpzdHlsZSBhdHRyaWJ1dGVzIHNvIEkgcG9zdCBpdCBhZ2Fp
biBmb3IgdGhvc2Ugd2hvIGFyZSBpbnRlcmVzdGVkLg0KDQogWFRBQiA0MCA1MDUgMTAxNSAy
NSAiZHVtbXkvQ2xlYXIgU2NyaXB0L09wZW4gU2NyaXB0L1NhdmUgU2NyaXB0L0xvYWQgdGVt
cGxhdGUvVG9vbHMvSGVscCIgYnV0dG9uczENCiAgICBhdHRyIHN0eWxlIGJ1dHRvbnMvZmxh
dC9ub2ZvY3VzICAgIA0KICAgIHVzZSB0YWIgI3RoaXMgYnV0dG9uczENCiAgICBpZiAkJHRh
Yi50YWIgPSAxOyBnb3N1YiAjdGhpcyBjbGVhclNjcmlwdDsgZW5kaWYNCiAgICBpZiAkJHRh
Yi50YWIgPSAyOyBnb3N1YiAjdGhpcyBvcGVuU2NyaXB0OyBlbmRpZg0KICAgIHRhYiBnb3Rv
IDANCiAgICB0YWIgc2hvdyAwDQoNClRoYW5rcyBmb3IgdGhlIGV4cGxhbmF0aW9uLA0KDQpD
aHJpcw0KDQoNCi0tLUluIGd1aTRjbGlAeWFob29ncm91cHMuY29tLCA8Z3VpNGNsaUAuLi4+
IHdyb3RlIDoNCg0KIEhpIENocmlzLCANCg0KIFlvdSBjYW4gaGlkZSB0aGUgd2hvbGUgeHRh
YiB3aXRoIGF0dHIgc2hvdyBoaWRlLg0KIA0KDQogVG8gaGlkZSBhIHNpbmdsZSB0YWIgZnJv
bSBhbiB4dGFiLCBJIGRvbid0IHRoaW5rIGlzIHBvc3NpYmxlIGJlY2F1c2UgdGhlIGNvbnRy
b2wgaXMgaGFuZGxlZCBieSB3aW5kb3dzLiBJIGp1c3QgY2FsbCB0aGUgZnVuY3Rpb25zIHBy
b3ZpZGVkLiBTZWUgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21z
NzQ5MTcxKHY9dnMuODUpLmFzcHggaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9s
aWJyYXJ5L21zNzQ5MTcxKHY9dnMuODUpLmFzcHgNCiANCg0KIEl0IGNvdWxkIHByb2JhYmx5
IGJlIGRvbmUgdXNpbmcgYW4gIm93bmVyIGRyYXduIiB0YWIgYW5kIGlnbm9yaW5nIHRoZSBj
YWxsIHRvIGRyYXcgdGhlIGdpdmVuIHRhYiwgYnV0IChhKSB0aGF0IHdvdWxkIGxlYXZlIGFu
IHVuZHJhd24gc3BhY2UgYW5kIChiKSBpdHMgZmFyIHRvbyBtdWNoIHdvcmsgOikNCiANCg0K
IERpbWl0cmlzDQogDQoNCg0KIA0KIE9uIFNhdCwgQXVnIDMwLCAyMDE0IGF0IDExOjE1IEFN
LCBjaHJpcy5rZXZhbnlALi4uIG1haWx0bzpjaHJpcy5rZXZhbnlALi4uIFtndWk0Y2xpXSA8
Z3VpNGNsaUB5YWhvb2dyb3Vwcy5jb20gbWFpbHRvOmd1aTRjbGlAeWFob29ncm91cHMuY29t
PiB3cm90ZToNCiAgIEhpIERpbWl0cmlzLA0KDQpJIHVzZSBvZnRlbiB1c2UgYnV0dG9uIGJh
cnMgd2l0aCBvbmx5IHRleHQgY3JlYXRlIGJ5IGEgbGFyZ2UgbnVtZXIgeEJ1dHRvbiBvciB4
VGV4dGJveCBldmVudHMuDQpUaGVzZSBoYXMgdG8gYmUgYWxsIHBvc2l0aW9uZWQgaW5kaXZp
ZHVhbGx5IHdoaWNoIGdlbmVyYXRlcyBhIGxvdCBvZiBjb2RlLg0KDQpJIGxhdGVseSBzdGFy
dGVkIHRvIGV4cGVyaW1lbnQgd2l0aCBhIHNpbmdsZSB4VGFiIGZvciBidXR0b24gYmFycyB3
aXRoIHRoZSBmb2xsb3dpbmcgY29kZSAuLi4NCiANClhUQUIgNDAgNTA1IDEwMTUgMjUgImR1
bW15L0NsZWFyIFNjcmlwdC9PcGVuIFNjcmlwdC9TYXZlIFNjcmlwdC9Mb2FkIHRlbXBsYXRl
L1Rvb2xzL0hlbHAiIGJ1dHRvbnMxDQogICAgdXNlIHRhYiAjdGhpcyBidXR0b25zMQ0KICAg
IGlmICQkdGFiLnRhYiA9IDE7IGdvc3ViICN0aGlzIGNsZWFyU2NyaXB0OyBlbmRpZg0KICAg
IGlmICQkdGFiLnRhYiA9IDI7IGdvc3ViICN0aGlzIG9wZW5TY3JpcHQ7IGVuZGlmDQogICAg
IHRhYiBnb3RvIDANCiAgICB0YWIgc2hvdyAwDQoNCldpdGggdGhpcywgYW55IGNsaWNrZWQg
YnV0dG9uIHRyaWdnZXJzICQkdGFiLnRhYiBidXQgaXMgaW1tZWRpYXRlbHkgcmVsZWFzZWQg
YWdhaW4gYW5kIHRoZSBkdW1teQ0KYnV0dG9uIHN0YXlzIHNlbGVjdGVkLiBOb3JtYWxseSBh
IHRhYiBpcyBub3QgdHJpZ2dlcmVkIHdoZW4gaXQgaXMgYWxyZWFkeSBzZWxlY3RlZCBidXQg
d2l0aCB0aGlzIGFsbA0KIHRhYnMgKGJ1dHRvbnMpIGV4Y2VwdCB0aGUgZHVtbXkgdHJpZ2dl
cnMgb3ZlciBhbmQgb3ZlciBhZ2FpbiBldmVyeSB0aW1lIGl0IGlzIHByZXNzZWQuDQoNCk5v
dyBteSBzdWdnZXN0aW9uIGlzIHRvIGFkZCB0aGUgcG9zaWJpbGl0eSB0byB0aGUgeFRhYiBl
dmVudCBmb3IgYSBoaWRkZW4gdGFiIGlmIHBvc3NpYmxlLg0KU28gbGV0cyBzYXkgdGhhdCB0
aGUgdGFiIG5hbWVkICJkdW1teSIgd2lsbCBub3Qgc2hvdyB1cC4NCiANCk9uZSBvZiB0aGUg
YmVuZWZpdHMgb2YgdXNpbmcgYSB4VGFiIGlzIGFsc28gdGhhdCBpdCBjYW4gYmUgZWFzaWx5
IHBvc2l0aW9uZWQgYXMgYSB3aG9sZSBiYXIgb2YgYnV0dG9ucw0KYW5kIHJlc2l6ZWQgd2l0
aCB0aGUgcmVzaXplIGF0dHJpYnV0ZS4gV2hlbiB1c2VkIHdpdGggaWNvbnMsIEkgc2VlIGl0
IGFzIG11Y2ggbW9yZSB2ZXJzYXRpbGUgb3B0aW9uDQogdGhhbiB0aGUgeFRvb2xiYXIgYmVj
YXVzZSB5b3UgY2FuIHVzZSBhcyBtYW55IGFzIHlvdSB3YW50IGFuZCBpdCBjYW4gYmUgcGxh
Y2VkIGFueXdoZXJlLg0KIEV2ZW4gb24gb3RoZXIgInJlYWwiIHRhYnMuDQoNClRoYW5rcyBp
biBhZHZhbmNlIChpZiBpdCdzIHBvc3NpYmxlKSwNCg0KQ2hyaXMNCg0KIA0KDQoNCg0KDQoN
Cg0KDQoNCiAgDQo=

--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit





<head>

<style type="text/css">
<!--

/* start of attachment style */
       .ygrp-photo-title{
         clear: both;
         font-size: smaller;
         height: 15px;
         overflow: hidden;
         text-align: center;
         width: 75px;
       }
       div.ygrp-photo{
         background-position: center;
         background-repeat: no-repeat;
         background-color: white;
         border: 1px solid black;
         height: 62px;
         width: 62px;
       }

       div.photo-title 
         a,
         div.photo-title a:active,
         div.photo-title a:hover,
         div.photo-title a:visited {
           text-decoration: none; 
       }

       div.attach-table div.attach-row {
         clear: both;
       }

       div.attach-table div.attach-row div {
         float: left;
         /* margin: 2px;*/
       }

       p {
         clear: both;
         padding: 15px 0 3px 0;
	 overflow: hidden;
       }

       div.ygrp-file {
         width: 30px;
         valign: middle;
       }
       div.attach-table div.attach-row div div a {
         text-decoration: none;
       }

       div.attach-table div.attach-row div div span {
         font-weight: normal;
       }

       div.ygrp-file-title {
         font-weight: bold;
       }
 /* end of attachment style */
        -->
        </style>
        </head>
<html>
<head>
<style type="text/css">
<!--
#ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
-->
</style>
</head>
<body>



<!-- |**|begin egp html banner|**| -->

<br><br>

<!-- |**|end egp html banner|**| -->


<br>Hi Dimitris,<br><br>&gt; It could probably be done using an &quot;owner drawn&quot; tab and ignoring the 
call to draw the given tab,<br>&gt; but (a) that would leave an undrawn space 
and (b) its far too much work :)<br><br>Well, for personal use the empty button doesn&#39;t matter to much. For a public applications, users<br>may find it a bit strange. Perhaps put a nice Icon on it?<br>It works fine and saves a lot of button code. In the original example code I forgot to add the<br>style attributes so I post it again for those who are interested.<br><br class="yui-cursor"><div class="ygroups-quoted">XTAB 40 505 1015 25 &quot;dummy/Clear Script/Open Script/Save Script/Load template/Tools/Help&quot; buttons1<br>&nbsp; &nbsp; attr style buttons/flat/nofocus&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; use tab #this buttons1<br>&nbsp;&nbsp;&nbsp;  if $$tab.tab = 1; gosub #this clearScript; endif<br>&nbsp; &nbsp; if $$tab.tab = 2; gosub #this openScript; endif<br>&nbsp;&nbsp;&nbsp; t
 ab goto 0<br>&nbsp;&nbsp;&nbsp; tab show 0<br><br>Thanks for the explanation,<br><br>Chris<br><br><br>---In [email protected], &lt;gui4cli@...&gt; wrote :<br><br><div id="ygrps-yiv-1826465482"><div dir="ltr">Hi Chris,<div><br></div><div>You can hide the whole xtab with attr show hide.</div><div><br></div><div>To hide a single tab from an xtab, I don&#39;t think is possible because the control is handled by windows. I just call the functions provided. See&nbsp;<a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/en-us/library/ms749171(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/ms749171(v=vs.85).aspx</a></div><div><br></div><div>It could probably be done using an &quot;owner drawn&quot; tab and ignoring the call to draw the given tab, but (a) that would leave
  an undrawn space and (b) its far too much work :)</div><div><br></div><div>Dimitris</div><div><br></div></div><div class="ygrps-yiv-1826465482gmail_extra"><br><blockquote><span class=""><div class="ygrps-yiv-1826465482gmail_quote">On Sat, Aug 30, 2014 at 11:15 AM, <a rel="nofollow" target="_blank" href="mailto:chris.kevany@...">chris.kevany@...</a> [gui4cli] <span dir="ltr">&lt;<a rel="nofollow" target="_blank" href="mailto:[email protected]">[email protected]</a>&gt;</span> wrote:<br><blockquote class="ygrps-yiv-1826465482gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><u></u><div style="background-color:#fff;">
<span>&nbsp;</span><div><div><div><p>Hi Dimitris,<br><br>I use often use button bars with only text create by a large numer xButton or xTextbox events.<br>These has to be all positioned individually which generates a lot of code.<br><br>I lately started to experiment with a single xTab for button bars with the following code ...<br>
<br>XTAB 40 505 1015 25 &quot;dummy/Clear Script/Open Script/Save Script/Load template/Tools/Help&quot; buttons1<br>&nbsp; &nbsp; use tab #this buttons1<br>&nbsp;&nbsp;&nbsp;  if $$tab.tab = 1; gosub #this clearScript; endif<br>&nbsp; &nbsp; if $$tab.tab = 2; gosub #this openScript; endif<br>
&nbsp;&nbsp;&nbsp; tab goto 0<br>&nbsp;&nbsp;&nbsp; tab show 0<br><br>With this, any clicked button triggers $$tab.tab but is immediately released again and the dummy<br>button stays selected. Normally a tab is not triggered when it is already selected but with this all<br>
tabs (buttons) except the dummy triggers over and over again every time it is pressed.<br><br>Now my suggestion is to add the posibility to the xTab event for a hidden tab if possible.<br>So lets say that the tab named &quot;dummy&quot; will not show up.<br>
<br>One of the benefits of using a xTab is also that it can be easily positioned as a whole bar of buttons<br>and resized with the resize attribute. When used with icons, I see it as much more versatile option<br>&nbsp;than the xToolbar because you can use as many as you want and it can be placed anywhere.<br>
Even on other &quot;real&quot; tabs.<br><br>Thanks in advance (if it&#39;s possible),<br><br>Chris</p></div><div style="color:#fff;min-height:0;"></div></div></div></div></blockquote></div><br></span></blockquote></div></div></div><div class="ygroups-quoted">&nbsp;</div>



<!-- |**|begin egp html banner|**| -->

<br>


<br>

<!-- |**|end egp html banner|**| -->


<div width="1" style="color: white; clear: both;"/>__._,_.___</div>

      
  

    
    <div id="fromDMARC" style="clear:both; margin-top: 10px;">
         <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
         Posted by: [email protected]         <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
    </div>
<!-- Start Recommendations -->
<!-- End Recommendations -->



<!-- |**|begin egp html banner|**| -->

  <img src="http://geo.yahoo.com/serv?s=97476590/grpId=4299/grpspId=1705007207/msgId=5974/stime=1409651001" width="1" height="1"> <br>

<!-- |**|end egp html banner|**| -->

  
<!-- |**|begin egp html banner|**| -->

<br>



   
     
 
        <!-- |**|begin egp html banner|**| -->
        <div id="ygrp-vital" style="background-color: #f2f2f2; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">

        <span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; "><a href="https://groups.yahoo.com/neo/groups/gui4cli/info;_ylc=X3oDMTJiODcxMTdtBF9TAzk3MzU5NzE0BGdycElkAzQyOTkEZ3Jwc3BJZAMxNzA1MDA3MjA3BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTQwOTY1MTAwMQ--" style="text-decoration: none;">Visit Your Group</a></span>

     <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
                                                    </ul>
  </div>


<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
  <a href="https://groups.yahoo.com/neo;_ylc=X3oDMTJhNWY2dXE2BF9TAzk3NDc2NTkwBGdycElkAzQyOTkEZ3Jwc3BJZAMxNzA1MDA3MjA3BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxNDA5NjUxMDAx" style="float: left;"><img src="http://l.yimg.com/ru/static/images/yg/img/email/new_logo/logo-groups-137x15.png" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
  <div style="color: #747575; float: right;"> &bull; <a href="https://info.yahoo.com/privacy/us/yahoo/groups/details.html" style="text-decoration: none;">Privacy</a> &bull; <a href="mailto:[email protected]?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> &bull; <a href="https://info.yahoo.com/legal/us/yahoo/utos/terms/" style="text-decoration: none;">Terms of Use</a> </div>
</div>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

   


  <br>

<!-- |**|end egp html banner|**| -->


<div style="color: white; clear: both;"/>__,_._,___</div>
</body>

</html>

--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV--