Goodies to Go! Newsletter #394

By Vince Barnes

************************************************************
                      Goodies to Go (tm)
               June 20, 2006 -- Newsletter # 394
 
     This newsletter is part of the internet.com network.
                  http://www.internet.com
 
          Please visit http://www.htmlgoodies.com
************************************************************
 
A Note about Email Filtering:
All Goodies To Go newsletters are sent from the domain "internet.com."  Please use this domain name (not the entire "from" address, which varies) when configuring e-mail or spam filter rules, if you use them.
 

Featured this week: a
 
*   Goodies Thoughts - Oh, For a Quiet Life!
*   Q & A Goodies
*   Discussion Goodies
*   News Goodies
*   Feedback Goodies
*   Windows Tech Goodie of the Week 
*   And Remember This...
 

Oh, For a Quiet Life!
 
f I step out of my back door I am greeted with the sounds of birds singing in the woods behind my house.  During the day, that is; at night I am provided the songs of cicadas, crickets, and frogs interspersed with the occasional owl's hoot and the chatter of a variety of other night life.  Listening to these sounds I notice how harmonious they all are.  They belong together and they sound good.  They inspire music.
 
A car will pull up next to mine at a traffic light, however, with some sound playing at an ear damaging level (probably mine, as well as their own!) and rattle my car windows with a deep bass boom.  It hurts me and I have no idea how much it must be hurting the occupants of the car itself.  This unwanted intrusion is disharmonious and belongs elsewhere, such as in a canoe in the middle of the Atlantic.  Not matter what genre of music it may be, it does not sound good by the time it reaches me.  Neither is music what it inspires!
 
As I ponder these two situations, I give consideration to websites that include sound.  I am quite frequently asked for advice on how to include sound in a web site, and there are two types of answer that I can provide.  The first is the technical.  "Visit http://www.htmlgoodies.com/tutors/embed.html and read the tutorial on embedding a sound that you'll find there," I'll say, and then I'll give them my other answer, which I call my sound advice.
 
Sound on a website can be as pleasing to your visitor as the car I described in the second paragraph above is to me.  A short while ago, I was on my phone and on my computer at the same time.  This is a frequent thing for me.  I find my speakerphone particularly useful on such occasions.  Unfortunately, as I was politely listening to the person at the other end of the phone line, I clicked on a link that took me to a site with embedded sound.  My computer chirped up with this bright and jolly and LOUD music and drowned out my phone.  The phone, of course, duly carried the sound to the other person, who immediately started to wonder why I would prefer listening to this cartoon style music rather than the gems of information they had to impart.  Most embarrassing!  Needless to say I memorized the site address and added it to my list of "never visit" sites.  If the site's author is trying to entice people to visit, their strategy isn't working!
 
My sound advice puts web page sounds on a scale that I call my "vowel sound scale".  Here it is:
 
Ahhh! There's no sound on the page.
Eh? There's sound that I'm invited to turn on.
EEEEE! There's sound that I'm invited to turn off.
Ohh! There's sound only when expected, like in a movie or presentation.
Ugh! There's sound and no way to stop it except to move off the site.
 
The State in which I live passed a law that says that car driver is in violation if the sounds they're listening to can be heard fifty feet away from the car (in a residential area - it's a hundred feet in the countryside or in an industrial zone.)  There's no such law on the internet and there never will be.  There are, however, the laws of usability.  One of the top usability laws says that the closer you are to the top of my Vowel Sound Scale, the better off you are!


Thanks for reading!

- Vince Barnes

************************************************************
 
Q & A Goodies
***********************************
Questions are taken from submissions to our Community
Mentors. You can ask a Mentor a question by going to
http://www.htmlgoodies.com/mentors/
 

XXXXXXXXXXXXXXXXXXXXXXXXXX
X                        X
X   Please take note:    X
X                        X
XXXXXXXXXXXXXXXXXXXXXXXXXX
 
We have had a number of people indicate that their email client programs are interpreting code examples in this newsletter as actual HTML code instead of text.  To overcome this problem and to enable everyone to read the newsletter, there is a period after the "<" in each tag.  If you cut and paste to try out code examples, please remember to remove the periods.  Wherever we intend you to use "<." in your code, the example will show "<..".  In this way, you will be safely able to use a global edit to change "<." to "<".  Thanks to all of you for your patience with this; if this technique creates an undue problem for you however, please let us know via our feedback address (see Feedback, below).
 

*** This question was submitted to our Mentor Community.
    The answer was provided by one of our Mentor Volunteers
 
Q. How can I force a user to submit a form by clicking the "Submit" button only and not by using the "Enter" key?
 
A. This script had the desired effect, but not in all browsers. It worked in Netscape 7 and IE 6, not in Opera 6 and Netscape 4.
<.script language="JavaScript">
<.!-- ;
function showAlert() {
alert("don't do that");
return false
}
// end hide -->
<./script>
<.form action="http://yourcgiscript" method="post" onKeyPress="showAlert()">
<.input type="submit" value="default value">
<./form>
 

*** This question was submitted to our Mentor Community.
    The answer was provided by one of our Mentor Volunteers
 
Q. I'm making a website with a "fixed" background.  I can't figure out how to make the picture fit the browser perfectly on everybody's system.  Is there a code I can place inside my document to alter the fixed background to fit the browser?  My site content will go into a smaller screen/box within the background so there is no need for scrollers on my outside browser and my background image doesn't need to be tiled because it basically is my site.
 
A. You can use Cascading Style Sheets to fix a background image. The code would have to be edited for your particular situation and image but here is the code:
<.style type="text/css">
body {
background-image: url("/images/your_image_name.gif");
background-repeat: no-repeat;
background-attachment: fixed
}
<./style>

*** This question was submitted to our Mentor Community.
    The answer was provided by one of our Mentor Volunteers
 
Q. Is it possible to change the link color with the onMouseOver command?
 
A. Yes it is.  I have done it using JavaScript (there is also a way using CSS).  Here is my JavaScript version:
<.html>
<.head>
<.title>Change Link Color<./title>
    <.style type="text/css">
      /* Set colors for IE5.0+ and Netscape 6.0 */
     .textRed {color:red}
     .textBlue {color:blue}
     .textLgreen {color:lightgreen}
     /* Set colors for Netscape 4.0+ */
     A.normal{color:blue}
     A.over{color:red}
     A.overb{color:lightgreen}
     /* No underline on link for all browsers */
     A{text-decoration:none}
    <./style>
     <.SCRIPT LANGUAGE="JavaScript">
       /* This script was written by Jim Young of www.requestcode.com and has been tested in Internet Explorer 5.0+, Netscape 4.0+ and Netscape 6.0.  I use the statement (this.className) to  change the class for the links in NS6 and IE5.0+ .  The scripts below are strictly for NS4.0+ . Add links below that are in the same order as your links in the body section.  the format for the array is:
           page to link to, the link name(what is displayed on your page), div id, class(color) for the mouseover, and class(color) for the mouseout.
Make sure you separate them by a comma (,).
     */
    var links = new Array()
          links[0]="http://www.wsabstract.com,Website Abstraction,divLink0,over,normal"
          links[1] ="http://www.requestcode.com,Requestcode,divLink1,overb,normal"
    //  Unless you absolutely have to DO NOT change the functions below.
    function change(linknum)
          {
           if(document.layers)  // Check for NS4.0+
             {
              linkval=links[linknum].split(",") // split out the values
              linkpage=linkval[0]
              linkname=linkval[1]
              linkdiv=linkval[2]
              linkclass=linkval[3]
              var linkd="<.A HREF="+linkpage+" CLASS="+linkclass+" onMouseOut=changeb(\""+linknum+"\")>"+linkname+"<./A>"
              var docwrta="document."+linkdiv+".document.write('"+linkd+"')"
              eval(docwrta)
              eval('document.'+linkdiv+'.document.close()')
             }
          }
   function changeb(linknum)
        {
         if(document.layers)
           {
            linkval=links[linknum].split(",")
            linkpage=linkval[0]
            linkname=linkval[1]
            linkdiv=linkval[2]
            linkclass=linkval[4]
            var linkd="<.A HREF="+linkpage+" CLASS="+linkclass+"
onMouseOver=change(\""+linknum+"\") onMouseOut=changeb(\""+linknum+"\")
>"+linkname+"<./A>"
            var docwrta="document."+linkdiv+".document.write('"+linkd+"')"
            eval(docwrta)
            eval('document.'+linkdiv+'.document.close()')
           }
        }
     <./SCRIPT>
<./head>
<.body>
  <.SCRIPT>
      /* If you add more links here make sure you update the links array with the same url and other required information.  Make sure they are entered in the array in the same order as they appear on your page. Also remember to change the value being passed on the mouseover and mouseout to the functions to match the entry in the array.  Make sure you use different names for each div.  In the mouseover for IE and NS6 you can change the class name specified by the statement this.className to a color you have setup in the styles area in your head section above.  You should leave the class(color) for the mouseout the same as when your link is displayed when the page is first loaded.  I currently have them set to blue which is the class normal.
     */
  <./SCRIPT>
<.CENTER>
<.H1>Link Effect Example<./H1>
Run your mouse over the links to see them change color <./CENTER> <.div id="divLink0" style="left:15; position:absolute; top:90; visibility:visible">
 <.a href="http://www.wsabstract.com" onMouseOver="change ('0');this.className='textRed'" class="normal" onMouseOut="changeb ('0');this.className='textBlue'">Website Abstraction<./a> <./div> <.div id="divLink1" style="left:15; position:absolute; top:120;
visibility:visible">
 <.a href="http://www.requestcode.com" onMouseOver="change ('1');this.className='textLgreen'" class="normal" onMouseOut="changeb ('1');this.className='textBlue'">Requestcode<./a>
<./div>
<./body>
<./html>


*** This question was submitted to our Mentor Community.
    The answer was provided by one of our Mentor Volunteers
 

(Ryan, who sent in this question, shared with us his work and so I have included it in its entirety -- entirely untested!  Our Mentor's answer follows.  This is quite an interesting piece of work and I'm sure that many of you will be able to make great things out of it. -- Thanks, Ryan! -- Ed.)
    
Q. I've created a drop-down menu on a geocities site using JavaScript.
The code for the menu is within a frame that we would like to keep in place. I was wondering if there is anyway to allow the drop-down to
transcend frames because as it exsists now the drop-downs cannot be fully displayed. Thanks in advance for your help and time. The code
for the drop-down is as follows:
<.center><.script language="JavaScript" type="text/JavaScript"> var
isDHTML = 0; var isID = 0;
var isAll = 0;
var isLayers = 0;
<.!--//
function leapto(form) {
var planlist=form.destination.selectedIndex;
parent.main.location.href=(form.destination.options[planlist].value);
planlist = 0;
// reset pulldown menu;
}
//-->
if (document.getElementById) {isID = 1; isDHTML = 1;}
else {
if (document.all) {isAll = 1; isDHTML = 1;}
else {
browserVersion = parseInt(navigator.appVersion);
if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion
==
4)) {isLayers = 1; isDHTML = 1;}
}}
function findDOM(objectID,withStyle) {
if (withStyle == 1) {
 if (isID) { return (document.getElementById(objectID).style) ; }
 else {
  if (isAll) { return (document.all[objectID].style); }
 else {
  if (isLayers) { return (document.layers[objectID]); }
 };}
}
else {
 if (isID) { return (document.getElementById(objectID)) ; }
 else {
  if (isAll) { return (document.all[objectID]); }
 else {
  if (isLayers) { return (document.layers[objectID]); }
 };}
}
}
var menuTop = 45;
var menuLeft = 400;
var domSMenu = null;
var oldDomSMenu = null;
var t = 0;
var lDelay = 3;
var lCount = 0;
var pause = 400;
function popMenu(menuNum){
if (isDHTML) {
//// Sets the previous menus visibility to hidden
 t = 2;
 if (oldDomSMenu) {
  oldDomSMenu.visibility = 'hidden';
  oldDomSMenu.zIndex = '0';
  t = 2;
  lCount = 0;
 }
///// Defines the DOMs of the menu objects
 var idMenu = 'menuHead';
 var domMenu = findDOM(idMenu,0);
 var idMenuOpt = 'menuHead' + menuNum;
 var domMenuOpt = findDOM(idMenuOpt,0);
 var idSMenu = 'menu' + menuNum;
 var domSMenu = findDOM(idSMenu,1);
///// Defines the positions of the sub-menus
if (isID || isAll) {
  var menuLeft = (domMenu.offsetLeft) + (domMenuOpt.offsetLeft) - 6;
  var menuTop = (domMenu.offsetTop) + (domMenu.offsetHeight) - 1;
 }
 if (isLayers) {
  var menuLeft = document.layers[idMenu].layers[idMenuOpt].pageX - 5;
  var menuTop = domMenu.pageY + domMenu.clip.height - 5;
 }
///// Positions and shows the menu
 if (oldDomSMenu != domSMenu) {
  domSMenu.left = menuLeft;
  domSMenu.top = menuTop;
  domSMenu.visibility = 'visible';
  domSMenu.zIndex = '100';
  oldDomSMenu = domSMenu;
 }
///// Resets oldDom if it is the same as the current DOM
 else { oldDomSMenu = null; }
 }
////// Returns a 'null' value for non-DHTML Browsers
 else { return null; }
}
function delayHide() {
///// Checks to see if there is a menu showing and whether ///// the
global variable 't' has been set to 0
    if ((oldDomSMenu) && (t == 0)) {
///// Hides the old menu, resets menu conditions,
///// and stops the function running
        oldDomSMenu.visibility = 'hidden';
        oldDomSMenu.zIndex = '0';
        oldDomSMenu = null;
        lCount = 0;
        return false;
    }
///// Interupts the function if another menu is opened
    if (t == 2) { lCount = 0; return false; }
///// Repeats the function adding 1 to lCount each time until /////
lCount is equal to lDelay and then sets 't' to 0 so that ///// the
menu will hide when it runs again
    if (t == 1) {
        lCount = lCount + 1;
        if (lDelay <.= lCount) { t = 0; }
        if (lDelay >= lCount) { setTimeout('delayHide(' + t +
')',pause); }
    }
}
<./script>
<.br>
<.div id="menuHead" class="menuStyleTop" style="position: relative;">
 <.span class="spacer"> | <./span>
<.a  id="menuHead1" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(1); return
true">News<./a> <.span class="spacer"> | <./span>
<.a  id="menuHead2" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(2); return true">Who We
Are<./a> <.span class="spacer"> | <./span>
<.a  id="menuHead3" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(3); return
true">Media<./a> <.span class="spacer"> | <./span>
<.a  id="menuHead4" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(4); return
true">Events<./a> <.span class="spacer"> | <./span>
<.a  id="menuHead5" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(5); return
true">Links<./a> <.span class="spacer"> | <./span>
<.a  id="menuHead6" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(6); return
true">Email<./a> <.span class="spacer"> | <./span>
<.a  id="menuHead7" class="menuLink" href="" onMouseOut="t = 1;
delayHide(); return true" onMouseOver="popMenu(7); return
true">Guestbook<./a> <.span class="spacer"> | <./span>
<./div>
<.div id="menu1" class="menuStyle">
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="news.html"  target="unter">Current<./a> <.a class="menuLink"
onMouseOut="t = 1; delayHide();  return true" onMouseOver="t = 2;
return true"  onClick="t = 0; delayHide();"
href="mayjunearchives.html"  target="unter">May-June Archives<./a> <.a
class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="maraprarchives.html"  target="unter">March-April Archives<./a>
<./div> <.div id="menu2" class="menuStyle">
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="about.html"  target="unter">Bio<./a>
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="about.html"  target="unter">Gear<./a>
<./div>
<.div id="menu3" class="menuStyle">
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="sightsandsounds.html"  target="unter">Pictures<./a>
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="sightsandsounds.html"  target="unter">MP3's<./a>
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="sightsandsounds.html"  target="unter">Etc.<./a>
<./div>
<.div id="menu4" class="menuStyle">
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="events.html"  target="unter">Upcoming<./a>
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="events.html"  target="unter">Past<./a>
<./div>
<.div id="menu5" class="menuStyle">
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="http://www.geocities.com/kevin_ikari15/index.htm" target=_new>Street
Team<./a>
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="links.html"  target="unter">Other Bands<./a>
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="links.html"  target="unter">Sweet Labels<./a>
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="links.html"  target="unter">Venues<./a>
<./div>
<.div id="menu6" class="menuStyle">
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="mailto:drumboy011@yahoo.com">Andrew<./a>
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="mailto:remmiws42@hotmail.com">Eric<./a>
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="mailto:leonheart08@hotmail.com">Evan<./a>
<./div>
<.div id="menu7" class="menuStyle">
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="http://geocities.yahoo.com/gb/sign?member=nopointsscored"
target=_new>Sign<./a>
<.a class="menuLink" onMouseOut="t = 1; delayHide();  return true"
onMouseOver="t = 2; return true"  onClick="t = 0; delayHide();"
href="http://geocities.yahoo.com/gb/view?member=nopointsscored"
target=_new>View<./a>
<./div>
<.style>
body { margin: 0px; }
 #menuHead   {
background-color: #000000;
top: 5px;
left: 0px;
z-index: 50;
margin-top: 5px;
margin-bottom: 5px;
font-family: Verdana;
font-size: 8pxpt;
font-weight: normal;
color: #FFFFFF;
width: 100%;
height: 22px;
border-top-style: solid;
border-bottom-style: solid;
border-width: 1px;
border-color: #000000;
padding-left: 5px;
}
#menu1,#menu2,#menu3,#menu4,#menu5,#menu6,#menu7
{
position: absolute;
z-index: 100;
visibility: hidden;
width: 150px;
}
.menuStyle {
 font-family: Verdana;
 font-size: 8pxpt;
 font-weight: bold;
 border: 1px solid #000000;
 color: #FFFFFF;
 background-color: #000000;
 width:160px;
 text-align: left;
}
.menuStyle a {
 font-family: Verdana;
 font-size: 8pxpt;
 font-weight: normal;
 color: #FFFFFF;
 background-color: #000000;
 display: block;
 margin: 0;
 padding: 3px;
 padding-left: 8px;
}
.menuStyle a:link    { color: #FFFFFF; background-color: transparent;
 width: 150px; }
.menuStyle a:visited { color: #FFFFFF; background-color: transparent;
 width: 150px; }
.menuStyle a:hover   { color: #990033; background-color: #FFFFFF; width:
 150px;}
#menuHead a:link    { color: #FFFFFF; background-color: transparent; }
#menuHead a:visited { color: #FFFFFF; background-color: transparent; }
#menuHead a:hover   { color: #990033; background-color: transparent; }
.spacer
{
color: #000000;
background: transparent;
padding-left: 2px;
padding-right: 2px;
}
<./style>
 
A. If I understand you correctly you want to have the dropdown display across frames.  That cannot happen because the code for the dropdown is actually in a separate window so to speak and will reside in that window within the main window which holds the separate frames.  You will have to make the frame that holds the menu larger to display the whole menu or go without frames and use a server side language such as Perl or PHP to include the code in each document.

 
Discussion Goodies
***********************************
 
Have you seen the discussion forums on the HTML Goodies website?  It's a great place to get help from others who, just like you, are developing web pages.  Many different topics appear in the forum, and a new one will appear if you create it!  Here's a sample of recent topics:
 
 
How to Implement User name, Passwords check using java script:
http://www.webdeveloper.com/forum/showthread.php?threadid=110130
 
 
 

News Goodies
***********************************
 
Will Windows Live Messenger Kill Skype?
[June 20, 2006] Or is it simply a VoIP 'me, too'? 
Read the article:
http://www.internetnews.com/infra/article.php/3614766
 

Sun Solaris Embraces PostgreSQL
[June 20, 2006] How many Oracle on Sun customers will move now that PostgreSQL is fully supported on Solaris?
Read the article:
http://www.internetnews.com/dev-news/article.php/3614606
 

IBM Has World's Coolest Chip
[June 20, 2006] Cryogenic research project yields 500GHz processor.
Read the article:
http://www.internetnews.com/dev-news/article.php/3614586
 

Opera 9 Browser Provides a Little Drama
[June 20, 2006] BitTorrent and widgets lead feature list of updated browser.
Read the article:
http://www.internetnews.com/xSP/article.php/3614801
 

Getting a Handle on Data
[June 20, 2006] Storage vendors are using the occasion of this week's Storage World Conference to showcase their wares aimed at helping users gain control of far-flung data. 
Read the article:
http://www.internetnews.com/storage/article.php/3614791
 

Searching For The Wisdom of The Crowd
[June 20, 2006] Can years spent trying to be all things to all people finally help Yahoo do one thing well?
Read the article:
http://www.internetnews.com/xSP/article.php/3614451
 

Dems Rip Net Neutrality Compromise
[June 20, 2006] New Senate effort to appease critics draws harsh words as key vote nears.
Read the article:
http://www.internetnews.com/infra/article.php/3614611
 

AT&T Expands IPTV With Satellite
[June 20, 2006] AT&T and EchoStar may be competing down the road, but for the time being both see cable as their mutual foe.
Read the article:
http://www.internetnews.com/infra/article.php/3614546
 

McAfee Begins Falcon Test Flights
[June 20, 2006] McAfee first out of the gate with an online, complete PC protection service. 
Read the article:
http://www.internetnews.com/ent-news/article.php/3614666
 

Verizon Sues to Shut Down Vonage
[June 19, 2006] Verizon is asking a district court to order VoIP provider Vonage to stop serving its customers.
Read the article:
http://www.internetnews.com/wireless/article.php/3614516


 
 
 
Feedback Goodies
***********************************
 
Did you ever wish your newsletter was an easy two way communications medium?  Ploof! It now is!
If you would like to comment on the newsletter or expand/improve on something you have seen in here, you can now send your input to:
 
 
We already receive a lot of email every day.  This address helps us sort out those relating specifically to this newsletter from all the rest.  When you send email to this address it may wind up being included in this section of the newsletter, to be shared with your fellow readers.  Please don't send your questions to this address.  They should be sent to our mentors: see http://www.htmlgoodies.com/mentors/

Thanks for all your feedback!


Windows Tech Goodie of the Week 
***********************************
 
Automating Control Validation and ToolTips in Visual Studio 2005
 
Visual Studio 2005 Windows Forms has some new extended provider components that allow ToolTips and validation error messages to be assigned to individual controls, but the process requires a fair amount of developer time in large projects. A better way is to automate the process to make the ToolTips and validation rules table driven so that non-developers can make changes easily and extend the Binding Source component to attach them to a form.
 
 

*** AND ***
 

Creating a Step-by-Step User Interface with the ASP.NET 2.0 Wizard Control: The Basics
 
This article, by Scott Mitchell, examines how to use the ASP.NET 2.0 Wizard control to create a user interface for breaking down a single-screen process into a series of discrete tasks.
 
 

*** AND ***
 

Photo Gallery Sample Code
 
I recently got a call from a friend who was trying to put some pictures up on a new web site he was building. Before he started anything, he naturally checked ASP 101 for some code first. He told me that he was surprised when he couldn't find anything that worked for him on the site. We obviously couldn't let that situation persist so...
 

 
And Remember This ...
***********************************
 

On this day in...
 
1632 Britain granted right to the Chesapeake Bay area to the 2nd Lord Baltimore; 1782 the US congress approved the Great Seal of the United States and the baled eagle as its emblem; 1793 Eli Whitney applied for the patent for the cotton gin; 1837 at 18 years of age, Queen Victoria ascended the British throne; 1863 The National Bank of Davenport, Iowa, became the first bank to be chartered in the US; 1867 US President Andrew Johnson announced the purchase of Alaska; 1893 Lizzie Borden was found innocent of charges of axing her parents to death in Massachusetts; 1911 the National Association for the Advancement of Colored People (NAACP) was incorporated in New York; 1944 the US Congress chartered the Central Intelligence Agency; 1963 the US and the USSR agreed to set up the "Hot Line"; 1977 the first oil entered the Trans-Alaska Pipeline, to arrive 38 days later at Valdez; 1990 Nelson Mandela arrived in New York to begin his tour of the US;

Born today were: in 1909 actor Errol Flynn; 1911 actress Gail Patrick; 1919 English actor Bruce Gordon; 1920 actor & trekker DeForest Kelley; 1924 actor Audie Murphy; 1924 musician Chet Atkins; 1928 actor Martin Landau; 1931 actress Olympia Dukakis; 1933 actor Danny Aiello; 1942 musician Brian Wilson; 1947 actress Candy Clark; 1950 musician Lionel Ritchie; 1952 actor John Goodman; 1953 musician Cyndi Lauper; 1955 musician Michael Anthony; 1967 musician Joseph Cathcart;


*************************************************************
EarthWeb's family of online services for IT insiders
*************************************************************
IT MANAGEMENT http://www.earthweb.com/dlink.index-jhtml.72.949.-.0.jhtml


Make a Comment

Loading Comments...

  • Web Development Newsletter Signup

    Invalid email
    You have successfuly registered to our newsletter.
  •  
  •  
  •  
Thanks for your registration, follow us on our social networks to keep up-to-date