감사합니다^^
locke 님이 쓰신 글 :
: 이벤트 루틴을 40개를 복사해서 만들지 말고 하나로 통일해서 아래처럼 쓰세요.
:
: TMaskEdit *me = dynamic_cast<TMaskEdit*>(Sender);
: switch(Key)
: {
: case VK_UP:
: if (StrToInt(me->Text)>=255); else me->Text = StrToInt(me->Text) + 1;
: break;
: case VK_DOWN:
: if (StrToInt(me->Text)<=0); else me->Text = StrToInt(me->Text) - 1;
: break;
: } //switch
:
: -locke
:
: Homin 님이 쓰신 글 :
: : 40여개의 TEdit가 Form1에 있습니다.
: : TEdit에는 각각 숫자가 들어 있습니다.
: :
: : 예를들어 TEdit1에 focus를 한 후, 키보드 up과 down으로 움직이면 값이 변하는 것을 하려고 합니다.
: : 각각 하나의 TEdit의 이벤트에 coding하는것은 너무 비효율 적인것 같아서
: : up/down코드를 작성 후, focusing이 된 객체의 Text를 바꿔 주려고 하는데요...
: : Screen->ActiveControl->Name을 이용하여 각 TEdit의 이름은 가져 올 수 있는데, Text를 어떻게 가져오는지가 궁금합니다.
: :
: : 아래와 같은 코드를 40개나 복사하려니..... ㅠㅠ
: :
: :
: : void __fastcall TForm1::MaskEdit1KeyDown(TObject *Sender, WORD &Key,
: : TShiftState Shift)
: : {
: : switch(Key)
: : {
: : case VK_UP:
: : if(StrToInt(MaskEdit1->Text)>=255);
: : else
: : MaskEdit1->Text = StrToInt(MaskEdit1->Text)+1;
: : break;
: : case VK_DOWN:
: : if(StrToInt(MaskEdit1->Text)<=0);
: : else
: : MaskEdit1->Text = StrToInt(MaskEdit1->Text)-1;
: : break;
: : }
: : }
: : |