StringGrid问题(100分)

A

Alyph

Unregistered / Unconfirmed
GUEST, unregistred user!
代码:
我要在StringGrid(Delohi)中使一些格子只输入字符,一些格子只输入数字,
且不会有editmask的下划线,也不像editmask那样确定字符数,请问怎么办?[:D]
[:)][:D][:D][8D][:(][:(][:(]
 
自己编程
OnKeyPress事件中写以下代码
首先判断StringGrid的行、列是否你要控制的,然后
procedure TForm1.StringGrid1KeyPress(Sender: TObject;
var Key: Char);
if (not(key IN ['0'..'9',#13,#46,#8]))then
begin
beep();
key:=#0;
end;
end;
//输入数字
procedure TForm1.StringGrid1KeyPress(Sender: TObject;
var Key: Char);
begin
if (not(upcase(key) IN ['A'..'Z',#13,#46,#8]))then
begin
beep();
key:=#0;
end;
end;
//输入字母。
 
var
Col,Row: integer;
...
procedure TForm1.StringGrid1KeyPress(Sender: TObject;
var Key: Char);
begin
if Col=1 then
if not (Key in ['1'..'9']) then
Key:=#0;
//你可以在这里对数据进行限制
end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject;
ACol,
ARow: Integer;
var CanSelect: Boolean);
begin
Col:=ACol;
Row:=ARow;
end;
 
多人接受答案了。
 
顶部