|
우선 DefaultDrawing을 False로 하셨는지 확인해주십시요.
만약 True로 하였을 경우 TStringGrid가 자체적으로 다시 Repaint작업을 수행합니다.
고로 원하시는대로 화면 디자인이 안나올수 있습니다.
그리고 두번째 함수 링크에 대한 에러에 대한 답변입니다.
문제는 Form은 포인터로 생성되어져 있기 때문에 프로그램이 Run하면서
메모리에 만들어집니다. 고로 프로그램이 Run하기 전에는
AcclistGridDrawCell이란 함수도 아직 생성은 안되었다는 말이죠.
그로인해, 컴파일 할때 아직 생성되어 있지 않는 함수와 링크를 걸려고 하니 당연히 에러가 발생
되는 겁니다. 이것을 피할 수 있는 방법은
헤더 파일에
TDrawCellEvent FOnDrawCell;
을 하나 지정해 주시고요.
FormCreat함수에
FOnDrawCell = AcclistGridDrawCell;
AcclistGrid->OnDrawCell = FOnDrawCell;
구문을 추가해 보십시요.
컴파일 자알 됩니당... *^^*
하야로비 님이 쓰신 글 :
: BloodWolf 님이 쓰신 글 :
: : 폼 생성자에서 아래와 같이 하셨나요??
: :
: : AcclistGrid->OnDrawCell=AcclistGridDrawCell;
:
: 그게... Object Inspector에서 설정을 했습니다. 더블클릭으로 자동으로 만들어준 것이죠. 폼 생성자에서는 위에처럼 쓰기만 하면 이런 에러가 납니다.
:
: [C++ Error] ncmainctl.cpp(69): E2034 Cannot convert 'void (_fastcall * (_closure )(TObject *,int,int,TRect &,TGridDrawState))(TObject *,int,int,TRect &,TGridDrawState)' to 'TDrawCellEvent'
|