Показать сообщение отдельно
  #2  
Старый 02.06.2006, 12:14
ilya ilya вне форума
Прохожий
 
Регистрация: 01.06.2006
Сообщения: 3
Репутация: 10
Лампочка Кое-что поменял

PHP код:
procedure TDatePickerGrid.OnExitGrid(SenderTObject);
var 
FParentTWinControl;
begin
  inherited destroy
//Ушли из ячейки ничего не меняем
end;

procedure TDatePickerGrid.KeyPressEsc(SenderTObject; var KeyChar);
var 
vFParentTWinControl;
begin
  
if key #13 then begin //Вводим значение
    
vfparent := parent;
    (
vFParent as TStringGrid).Cells[(vFParent as TStringGrid).Col,(vFParent as TStringGrid).Row] := datetostr(DateTime);
    
inherited destroy;
  
end;
  if 
key #27 then inherited destroy; // Esc ничего
//здесь медод free может не работать есть подозрение что Key куда-то
//передается поэтому и вылетает ошибка => либо   inherited destroy
//  или так key = #0 затем free
//как лучше, незнаю?
end;

procedure TDatePickerGrid.RectSet// так будет правильно
var vFParentTWinControl;
    
integer;
begin
   vfparent 
:= parent;
   for 
:= 0 to (vFParent as TStringGrid).FixedCols-do
        
Left := Left + (vFParent as TStringGrid).ColWidths[i];
   for 
:= (vFParent as TStringGrid).LeftCol to (vFParent as TStringGrid).Col-do
        
Left := Left + (vFParent as TStringGrid).ColWidths[i]+1;

   
Left :=  Left + (vFParent as TStringGrid).Left;

   for 
:= 0 to (vFParent as TStringGrid).FixedRows-do
        
Top := Top + (vFParent as TStringGrid).RowHeights[i];
   for 
:= (vFParent as TStringGrid).TopRow to (vFParent as TStringGrid).Row-do
        
Top := Top + (vFParent as TStringGrid).RowHeights[i]+1;

   
Top := Top + (vFParent as TStringGrid).Top;

   
Width := (vFParent as TStringGrid).ColWidths[(vFParent as TStringGrid).Col]+3;
   
Height := (vFParent as TStringGrid).RowHeights[(vFParent as TStringGrid).row]+3;
end
Ответить с цитированием