Q&A

  • 두개의 stringgrid와 한 editbox에서 focus값을 얻는 방법 좀...
꾸벅...

포커스가 어디에 있는가에 따라 처리를 하고자 합니다.

아래와 같이 실행시키면, 계속 else에만 걸리는데 어떻게 할지 모르겠습니다.

stringgrid에서는 한 row의 parameter값을 받아서 처리합니다.



sgd_H802의 option 은

[goFixedVertLine ,goFixedHorzLine ,goVertLine

,goHorzLine ,goColSizing ,goEditing ,goRowSelect] 이며,



sgd_H803의 option 은

[goFixedVertLine ,goFixedHorzLine ,goVertLine

,goHorzLine ,goRangeSelect ,goColSizing ,goEditing] 임다..



procedure TForm1.deleteClick(Sender: TObject);

begin

if sgd_H802.Focused = true then

begin

......

end



else if sgd_H803.Focused = true then

begin

........

end

else

begin

........

end;

end;



에러는 안나는데 뭐가 잘못일까요...부탁합니다..





2  COMMENTS
  • Profile
    블랙봉 2001.05.15 18:31
    초보임다. wrote:

    > 꾸벅...

    > 포커스가 어디에 있는가에 따라 처리를 하고자 합니다.

    > 아래와 같이 실행시키면, 계속 else에만 걸리는데 어떻게 할지 모르겠습니다.

    > stringgrid에서는 한 row의 parameter값을 받아서 처리합니다.

    >

    > sgd_H802의 option 은

    > [goFixedVertLine ,goFixedHorzLine ,goVertLine

    > ,goHorzLine ,goColSizing ,goEditing ,goRowSelect] 이며,

    >

    > sgd_H803의 option 은

    > [goFixedVertLine ,goFixedHorzLine ,goVertLine

    > ,goHorzLine ,goRangeSelect ,goColSizing ,goEditing] 임다..

    >

    > procedure TForm1.deleteClick(Sender: TObject);

    > begin

    > if sgd_H802.Focused = true then

    > begin

    > ......

    > end

    >

    > else if sgd_H803.Focused = true then

    > begin

    > ........

    > end

    > else

    > begin

    > ........

    > end;

    > end;

    >

    > 에러는 안나는데 뭐가 잘못일까요...부탁합니다..

    >

    >

    delete라는 게 버튼 아닌가요?

    버튼 이라면 클릭하는 순간 포커스가 그 버튼으로 넘어가버리죠.

    버튼 중에서 클릭했을 때 포커스가 가지 않는 건 SpeedButton 밖에 없는 것 같네요.

  • Profile
    초보임다. 2001.05.15 20:24
    블랙봉 wrote:

    > 초보임다. wrote:

    > > 꾸벅...

    > > 포커스가 어디에 있는가에 따라 처리를 하고자 합니다.

    > > 아래와 같이 실행시키면, 계속 else에만 걸리는데 어떻게 할지 모르겠습니다.

    > > stringgrid에서는 한 row의 parameter값을 받아서 처리합니다.

    > >

    > > sgd_H802의 option 은

    > > [goFixedVertLine ,goFixedHorzLine ,goVertLine

    > > ,goHorzLine ,goColSizing ,goEditing ,goRowSelect] 이며,

    > >

    > > sgd_H803의 option 은

    > > [goFixedVertLine ,goFixedHorzLine ,goVertLine

    > > ,goHorzLine ,goRangeSelect ,goColSizing ,goEditing] 임다..

    > >

    > > procedure TForm1.deleteClick(Sender: TObject);

    > > begin

    > > if sgd_H802.Focused = true then

    > > begin

    > > ......

    > > end

    > >

    > > else if sgd_H803.Focused = true then

    > > begin

    > > ........

    > > end

    > > else

    > > begin

    > > ........

    > > end;

    > > end;

    > >

    > > 에러는 안나는데 뭐가 잘못일까요...부탁합니다..

    > >

    > >

    > delete라는 게 버튼 아닌가요?

    > 버튼 이라면 클릭하는 순간 포커스가 그 버튼으로 넘어가버리죠.

    > 버튼 중에서 클릭했을 때 포커스가 가지 않는 건 SpeedButton 밖에 없는 것 같네요.



    예..답변감사합니다..

    그렇더군요,,클릭순간에 포커스가 버튼으로가서 마지막 else에만 걸리더군요..

    그래서 전역변수를 하나 지정해서,

    전역변수에 값을 이용하는 조잡한 (하지만 제겐 최선인것같아요) 방법을 택했답니다..

    이런 실수를 하면서 조금씩 배우는것 같아요..다사 한번 감사드립니다.