DBGRID의 DrawColumnCell이벤트에
TStringGrid(DBGrid1).FixedCols := 2;
하니까..칼럼 고정은 되는데요...문제가 좀 있네요...
첫번째는, 고정된 칼럼의 title이 안보이네요...고정 안된 칼럼은 보이는데...
두번째는, NEXT, PRIOR 하면 고정된 칼럼만이 폰트가 흰색, 검정색, 짙은 파랑색으로
막 변하는군요....
세번째는, Option에서 dgEditing 을 True로 해놓으면, 칼럼을 클릭할때 칼럼이 하나
더 생기는군요..고정된 그 칼럼으로....
경험있으신분은 말씀 좀 해주시고요...저에게 해결의 기쁨을 느낄수 있는 기회를
주신다면 정말 정말 감사하겠습니다 ...
> DBGRID의 DrawColumnCell이벤트에
>
> TStringGrid(DBGrid1).FixedCols := 2;
>
> 하니까..칼럼 고정은 되는데요...문제가 좀 있네요...
>
> 첫번째는, 고정된 칼럼의 title이 안보이네요...고정 안된 칼럼은 보이는데...
>
> 두번째는, NEXT, PRIOR 하면 고정된 칼럼만이 폰트가 흰색, 검정색, 짙은 파랑색으로
> 막 변하는군요....
> 세번째는, Option에서 dgEditing 을 True로 해놓으면, 칼럼을 클릭할때 칼럼이 하나
> 더 생기는군요..고정된 그 칼럼으로....
>
> 경험있으신분은 말씀 좀 해주시고요...저에게 해결의 기쁨을 느낄수 있는 기회를
> 주신다면 정말 정말 감사하겠습니다 ...
///////////////////////////////////////////////////////////////////////
아래방법을한번써보세요
FormShow에서 TAB키를 눌러 첫컬럼이 선택되는것을 막기위해
SendMessage(DBGrid1.Handle,WM_KEYDOWN,9,0);쓰고요
OnDrawColumnCell에는 TStringGrid(DBGrid1).FixedCols := 2;
로 첫컬럼을 고정으로 만들기위해 그대로쓰고요
OnMouseMove에는
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
GXY : TGridCoord;
begin
GXY := DBGrid1.MouseCoord(x,y);//현 마우스 위치의 셀을구함
if GXY.X = 1 then begin //첫번째 컬럼일때는 마우스가 못들어가게 막음
DBGrid1.DragMode := dmAutomatic;
end
else begin
DBGrid1.DragMode := dmManual;
end;
end;