在很多應(yīng)用程序,特別是工控程序中,經(jīng)常需要讀入并顯示一些開(kāi)關(guān)量,比如串口通信是否正常,電源是否打開(kāi),電機(jī)工作是否正常等等。這些開(kāi)關(guān)量的顯示最好用一些控件來(lái)實(shí)現(xiàn)。這些控件根據(jù)輸入的開(kāi)關(guān)量顯示不同顏色和文字用來(lái)表示打開(kāi)和關(guān)閉。NI公司專(zhuān)門(mén)開(kāi)發(fā)了一套LabWindows控件,專(zhuān)門(mén)用于程序開(kāi)發(fā),當(dāng)然這是要花錢(qián)的.本文以CStatic為基類(lèi),編寫(xiě)了一個(gè)LED燈,它可根據(jù)輸入的bool值顯示開(kāi)關(guān),類(lèi)似于vb里的shape控件。
NI控件
具體實(shí)現(xiàn)請(qǐng)請(qǐng)參考CLED類(lèi),當(dāng)然這個(gè)類(lèi)很簡(jiǎn)單,完全可以自己實(shí)現(xiàn),當(dāng)時(shí)如過(guò)你不想自己動(dòng)手編寫(xiě),那么可以發(fā)郵件向我要:visualsan@yahoo.cn.也可以直接復(fù)制文章低部的類(lèi)的頭文件和cpp文件。下面是程序運(yùn)行時(shí)的截圖:
//類(lèi)頭文件
#if!defined(AFX[_]LED[_]H[_][_]BDAD9442[_]11BB[_]4917[_]8E43[_]0E2ACC246FE3[_][_]INCLUDED[_])
#define AFX[_]LED[_]H[_][_]BDAD9442[_]11BB[_]4917[_]8E43[_]0E2ACC246FE3[_][_]INCLUDED[_]
#if [_]MSC[_]VER 1000
#pragma once
#endif//[_]MSC[_]VER 1000
//LED.h:header file
//
#define CIRCLE 0
#define SQUARE 1
#define ELLIPSE 2
/////////////////////////////////////////////////////////////////////////////
//CLED window class CLED:public CStatic
{
//Construction public:
CLED();