首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么把以下代码翻译成bcb

2012-02-09 
如何把以下代码翻译成bcbtypeTMyTCustomGridclass(TCustomGrid)procedureTForm1.DBGrid1KeyUp(Sender:TO

如何把以下代码翻译成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;
}
}

热点排行