如何把以下代码翻译成bcb
type
TMyTCustomGrid=class(TCustomGrid);
procedureTForm1.DBGrid1KeyUp(Sender:TObject;varKey:Word; Shift:TShiftState);
var
R:TRect;
H:THandle;
P:PChar;
begin
with TMyTCustomGrid(DBGrid1) do
begin
R:=CellRect(Col,Row);
H:=ChildWindowFromPoint(DBGrid1.Handle,Point(R.Left,R.Top));
if H <> 0 then
begin
GetMem(P,MAXBYTE+1);
SendMessage(H,WM_GETTEXT,MAXBYTE,Integer(P));
Edit1.Text:=P;
FreeMem(P);
end;
end;
end;
注:要能运行呀
[解决办法]
class TMyTCustomGrid : public TCustomGrid
{
public:
TRect __fastcall CellRect(int ACol, int ARow)
{
return TCustomGrid::CellRect(ACol, ARow);
}
__property Col;
__property Row;
};
void __fastcall TForm1::DBGrid1KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
TMyTCustomGrid *Grid = (TMyTCustomGrid*)DBGrid1;
TRect R = Grid-> CellRect(Grid-> Col, Grid-> Row);
HWND H = ChildWindowFromPoint(DBGrid1-> Handle, TPoint(R.left, R.top));
if (H)
{
char *p = new char[MAXBYTE + 1];
SendMessage(H, WM_GETTEXT, MAXBYTE, (DWORD)p);
Edit1-> Text = p;
delete[] p;
}
}