Q&A

  • dbgrid에 콤보박스 올리기
팁란에서 본건데요..

dbgrid에 콤보박스를 올리려면..



if (gdFocused in state) then

begin

if DBGrid1.SelectedIndex = 3 then

begin

with DBComboBox1 do

begin

left := Rect.left + DBGrid1.left;

top := Rect.Top + DBGrid1.Top;

Width := Rect.Right - Rect.left;

visible := true;

end;

end;

end;

요렇게 하라고 해서 시킨대로 했더니..

해당 필드에 포커스가 가면 콤보박스가 보이기는 보이는데..

dbgrid가 밑으로 주르르.. 내려가서..

결국은 dbgrid와 콤보박스의 겹쳐지기가 않되더라구요.. 이궁..(갈켜줘도 못하는 지영이..)

그런데 더 화가 나는건..

옆에 펜티엄3 컴퓨터에 가서 똑같이 코딩을 해서 실행을 시켰더니 자..알 되는겁니다.. 설마.. 컴퓨터 차별하는건 아니지요??? ^^

원인이 뭘까요..





1  COMMENTS
  • Profile
    이정욱 1999.04.26 01:47
    DBGrid의 Align이 문제인것 같네요.

    alClient나 다른 것이 설정되어 있으면 당연히 위치가 바뀌어 버립니다.

    이럴때는 alNone로 해놓고 하시면 됩니다.

    만약 콤보박스가 DBGrid뒤로 숨어버리면 안되니 DBGrid위에서 오른쪽 버튼을 누르신 후 Send It To Back을 한번 해주세요.

    그리고 크기가 조정이 될때는 수동으로 DBGrid의 크기를 조정해주어야 합니다.



    강지영 wrote:

    > 팁란에서 본건데요..

    > dbgrid에 콤보박스를 올리려면..

    >

    > if (gdFocused in state) then

    > begin

    > if DBGrid1.SelectedIndex = 3 then

    > begin

    > with DBComboBox1 do

    > begin

    > left := Rect.left + DBGrid1.left;

    > top := Rect.Top + DBGrid1.Top;

    > Width := Rect.Right - Rect.left;

    > visible := true;

    > end;

    > end;

    > end;

    > 요렇게 하라고 해서 시킨대로 했더니..

    > 해당 필드에 포커스가 가면 콤보박스가 보이기는 보이는데..

    > dbgrid가 밑으로 주르르.. 내려가서..

    > 결국은 dbgrid와 콤보박스의 겹쳐지기가 않되더라구요.. 이궁..(갈켜줘도 못하는 지영이..)

    > 그런데 더 화가 나는건..

    > 옆에 펜티엄3 컴퓨터에 가서 똑같이 코딩을 해서 실행을 시켰더니 자..알 되는겁니다.. 설마.. 컴퓨터 차별하는건 아니지요??? ^^

    > 원인이 뭘까요..

    >

    >