★ wanayoo — archive 1999 http://codeguru.developer.com/controls/StaticLed.shtmlNouvelle recherche | Portail wanayoo
EarthWeb
Developer.com Click Here!
Click Here!
Find:
 

EXPERT SEARCH
-----
Site
windows 2000
visual c++
java
visual basic
javascripts
recommend it
 
Contest
mfc codeguru
submission guidelines
 
Book
thinking in c++
stl programmer's guide
reviews
 
Interact
forums
newsgroups
guest book
jobs
jokes
open faq
what's new
 
Other
about
links
newsletters
privacy
tools
 

-----
Visual C++ by E-mail:

Get the weekly e-mail highlights on
Visual C++!
-----



EarthWeb Sites:
CROSSNODES
DATAMATION
DEVELOPER.COM
DICE
DISCUSSIONS
EARTHWEB.COM
EARTHWEB DIRECT
EARTHWEB EVENTS
ERP HUB
GAMELAN
GOCERTIFY
HTML GOODIES
INTRANET JOURNAL
ITKNOWLEDGE
IT NEWS
JARS
JAVASCRIPTS.COM
OPEN SOURCE IT
PERL JOURNAL
SYSOPT.COM
SUPPORTSOURCE
TECHCRAWLER
Y2KINFO

EarthWeb Worldwide

   

Static LED Control


This article was contributed by Monte Variakojis.

Environment: Compiled using VC6.0 Sp3 and tested using Win95/98 WinNT4.0 and Win 2000

Sometimes you find yourself needing an indicator to reflect various statuses. For example, receive and transmit on a modem. The following article is a simple LED static class.

The CLed class is a static control for a simple LED control and is derived from the CStatic class. Using a single bitmap of an LED array, the BitBlt function is used to index through the bitmap for the appropriate LED. Note that the bitmap has a mask color of RGB(255,0,255) in order to make the LED appear to be transparent.

LED Matrix
Led Matrix bitmap

The code assumes LEDs of 16 X 16 pixels, but is not limited to that. If you decide to that smaller or larger LEDs are necessary, than set the LED_SIZE to the size desired and modify the LED bitmap matrix to reflect the change.

Implementation

Using the CLed class is very simple when using the MFC Class Wizard Dialog. Within a dialog, use the following steps to add an LED.

  1. Insert a new static frame where you want the LED.
  2. Rename the static frame to somthng other than IDC_STATIC. Name it somthing like IDC_LED.
  3. Using the MFC ClassWizard, add a new member valiable for IDC_LED. The catagory should be a control and the Variable Type should be CLed. If CLed type does not show up in the Variable type dropdown, then you need to recreate the .clw file. I.E. delete the .clw file and run the Wizard Dialog again.
  4. Make sure that you include Led.h in you dlg.h file.

Also, you need to create a IDB_LEDS resource. Leds.bmp is included to help you do this. In the LedDemo project, there is also a demonstration on adding the CLed static control within a CView class.

Operations

void SetLed( int nLedColor, int nMode, int nShape );

Parameters

nLedColor - Specifies LED color. You can use the following attributes:

CLed::LED_COLOR_RED
CLed::LED_COLOR_GREEN
CLed::LED_COLOR_YELLOW
CLed::LED_COLOR_BLUE

nMode - Specifies LED mode where:

CLed::LED_ON - Turn on LED
CLed::LED_OFF - Turn off LED
CLed::LED_DISABLE - Disable LED

nShape  Specifies round or square LED where:

CLed::LED_ROUND - specifies a round LED
CLed::LED_SQUARE - specifies a square LED

Remarks
Use this method to set and display the LED to the preferred color and mode.

void Ping( DWORD dwTimeout = 1000 );

Parameters

dwTimeout - Specifies the duration that the led is on in milliseconds.

Remarks
Use this function when a short "ON" duration is needed for an LED operation. The LED will automatically turn for the duration specified and then turn off.

 

Downloads

Download demo project - 32KB
Download source - 4KB

History

Date Posted: January 3, 2000

Comments:

Add Comment

   

Give them a visit Click Here!

Click Here!

INSTANT EXPERTS!
Savvy IT Pros report on SupportSource. Take a look inside the largest vault of multi-vendor computing specs ever assembled. Click here for an In-depth Report,.

Learn about Free & Open Source software at the Bazaar Conference & Expo!,
December 14-16, 1999 in New York City! Click here for more information.

For tons of Windows technology resources, check out the Windows Programming directory.

Go to Fatbrain for the NEWEST and BEST technical books for IT professionals.

Get Linux Utilities for ONLY $34.95 at EarthWeb Direct.

Give them a visit Click Here!

Click Here!

Click Here!

Click Here!

Home About Us Search Subscribe Advertising Info Contact Us FAQs
Use of this site is subject to certain Terms & Conditions.
Earthweb's statement regarding our users' right to privacy.
Copyright ©1996-2000 EarthWeb Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited.