팁란에서 본건데요..
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 컴퓨터에 가서 똑같이 코딩을 해서 실행을 시켰더니 자..알 되는겁니다.. 설마.. 컴퓨터 차별하는건 아니지요??? ^^
원인이 뭘까요..
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 컴퓨터에 가서 똑같이 코딩을 해서 실행을 시켰더니 자..알 되는겁니다.. 설마.. 컴퓨터 차별하는건 아니지요??? ^^
> 원인이 뭘까요..
>
>