|
아래 소스는 제가 프로젝트에서 직접 사용한 것입니다.
참조하세요...
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "NumericPad.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "ColorButton"
#pragma link "Indpanel"
#pragma link "PairPanel"
#pragma link "BUEdit"
#pragma resource "*.dfm"
TfmNumericPad *fmNumericPad;
//---------------------------------------------------------------------------
__fastcall TfmNumericPad::TfmNumericPad(TComponent* Owner): TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfmNumericPad::FormActivate(TObject *Sender)
{
edResult->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfmNumericPad::c1Click(TObject *Sender)
{
edResult->Text = IntToStr(edResult->Text.ToIntDef(0) * 10 + ((TColorButton*)Sender)->Tag);
}
//---------------------------------------------------------------------------
void __fastcall TfmNumericPad::btnClearClick(TObject *Sender)
{
//ppText->CaptionFalse = "0";
edResult->Text = "0";
}
//---------------------------------------------------------------------------
void __fastcall TfmNumericPad::btnEnterClick(TObject *Sender)
{
if(edResult->Text.IsEmpty()) edResult->Text = "0";
ModalResult = mrOk;
}
//---------------------------------------------------------------------------
void __fastcall TfmNumericPad::btnExitClick(TObject *Sender)
{
ModalResult = mrCancel;
}
//---------------------------------------------------------------------------
void __fastcall TfmNumericPad::edResultKeyPress(TObject *Sender, char &Key)
{
if((Key < 0x30 || Key > 0x39) && Key != VK_BACK && Key != VK_RETURN && Key != VK_ESCAPE) Key = 0;
if(!edResult->Text.IsEmpty() && edResult->Text.ToIntDef(0) == 0) edResult->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TfmNumericPad::edResultKeyUp(TObject *Sender, WORD &Key, TShiftState Shift)
{
if(Key == VK_RETURN) btnEnterClick(NULL);
if(Key == VK_ESCAPE) btnExitClick(NULL);
}
//---------------------------------------------------------------------------
실론티 한잔 님이 쓰신 글 :
: 예를 들어 전화기나 계산기 보면 숫자를 버튼을 이용해서 EDIT 박스에
:
: 뿌려 주잖아요... 그걸 구현하고 싶은데 도와 주세요 아직 초보라 많이 어렵습니다....
:
: 대충 스위치문으로 입력버튼 컨트롤할 생각인데 그걸 에딧박스에 뿌려줄때
:
: 배열로 나타내면 될꺼 같은데 뭔가 참고할 만한 소스가 필요합니다....
:
: 혼자서 많이 시도했는데 잘 되질 않네요
:
: 도움 부탁드립니다 그럼예제 소스나 조언 부탁드립니다 즐거운 하루 되세요
|