发信人: teleme()
整理人: teleme(2000-12-05 19:11:55), 站内信件
|
//新建一个工程,在窗体上加一个StringGrid, //下面是unit1.pas
unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dia logs, Grids;
type TForm1 = class(TForm) StringGrid1: TStringGrid; procedure FormCreate(Sender: TObject); procedure StringGrid1DblClick(Sender: TObject); procedure StringGrid1MouseDown(Sender: TObject; Button: TMouseButt on; Shift: TShiftState; X, Y: Integer); procedure StringGrid1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
const WeekDayName :Array[1..7] of String=('星期一','星期二','星期三','星期四 ','星期五','星期六','星期日');
var X_Pos,Y_Pos:integer;//鼠标在窗体的位置 Col_Pos,Row_Pos:integer;//单元位置
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var i:integer; begin Application.HintPause:=100; Font.Size :=10; Caption:='StringGrid演示程序';
StringGrid1.ShowHint :=True; StringGrid1.ColCount :=8; StringGrid1.RowCount :=12; StringGrid1.Cells[0,0]:='第18周'; for i:=1 to StringGrid1.ColCount -1 do StringGrid1.Cells[i,0]:=WeekDayName[i]; for i:=1 to StringGrid1.RowCount -1 do StringGrid1.Cells[0,i]:=InttoStr(i+7)+':00'; StringGrid1.Options :=StringGrid1.Options+[goTabs,goROwSizing,goColSi zing]-[goEditing];
end;
procedure TForm1.StringGrid1DblClick(Sender: TObject); var SchemeItem:String; begin StringGrid1.MouseToCell(X_Pos,Y_Pos,Col_Pos,Row_Pos) ; //转换到单位位 置
if (Col_Pos<0 )or (Row_Pos<0 ) then Exit;
if (StringGrid1.Cells[Col_Pos,Row_Pos]<>'' ) then //取消计划概要 begin
StringGrid1.Cells[Col_Pos,Row_Pos]:=''; Exit;
end;
SchemeItem:=InputBox('提示','请输入计划概要:','会议'); StringGrid1.Cells[Col_Pos,Row_Pos]:=SchemeItem;
End;
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin X_Pos:=x; Y_Pos:=y; end;
procedure TForm1.StringGrid1Click(Sender: TObject); begin StringGrid1.MouseToCell(X_Pos,Y_Pos,Col_Pos,Row_Pos);//转化到单元位 置 StringGrid1.Hint :=StringGrid1.Cells[Col_Pos,Row_Pos];//暂时借用该 特性显示工作计划 end;
end.
|
|