Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2009, 13:57   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Вопрос по StringGrid

Добрый вечер! Такой вопрос: можно ли сделать, чтобы в StringGrid-e в фиксированных ячейках можно было набирать текст?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 21.07.2009, 14:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Можно. при клике по ячейке помещай по ее координатам на форме TEdit и это будет выглядеть как будто ячейка раскрылась.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.07.2009, 18:21   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Че т я не очень понял
Цитата:
при клике по ячейке помещай по ее координатам на форме TEdit
То есть отлавливать координаты мыши и помещать туда просто Edit? А как потом сделать, чтобы когда убираешь курсор, то введенные данные не исчезали?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 21.07.2009, 18:29   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Для Edit'a написать обработчик OnKeyPress, где будет проверяться, нажатие клавиши на Enter и сохранение значения в соответствующей ячейке таблицы.
psycho-coder вне форума Ответить с цитированием
Старый 22.07.2009, 09:33   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ниче сложного. Вот смотрите, господа:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TStringGrid=class(Grids.TStringGrid)
   procedure q(var w:TWMLButtonDblClk); message WM_LButtonDblClk;
  end;
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public   cl,row:Integer;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Types;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Visible:=false;
end;

{ TStringGrid }

procedure TStringGrid.q(var w: TWMLButtonDblClk);
var c,rw:integer;r:TRect;
begin
 MouseToCell(w.XPos,w.YPos,c,rw);
 r:=CellRect(c,rw);
 with form1 do begin
 cl:=c;row:=rw;
  Edit1.Top:=r.Top;
  Edit1.Left:=r.Left;
  Edit1.Width:=r.Right-r.Left+2;
  Edit1.Height:=r.Bottom-r.Top+2;
  Edit1.Visible:=true;
  Edit1.Text:='';
 end;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then begin
   StringGrid1.Cells[cl,row]:=TEdit(sender).Text;
   TEdit(sender).Visible:=false;

 end;
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.09.2009, 02:33   #6
Demagog
Пользователь
 
Регистрация: 11.02.2009
Сообщений: 18
По умолчанию

у меня такая проблема: в StringGrid заношу большое количество записей, но почему-то высота получившейся таблицы изменяется и как будто стремиться вместить все записи. Как это исправить? Такое ощущение, что срабатывает что-то типа AutoSize, но ничего подобного не обнаружил...

Спасите от этой напасти..

Последний раз редактировалось Demagog; 12.09.2009 в 16:12.
Demagog вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по компоненту StringGrid Vla9240 Помощь студентам 2 14.05.2009 22:36
Вопрос по StringGrid MasterofCDM Компоненты Delphi 2 02.04.2009 17:06
Вопрос о компоненте StringGrid Arassir Помощь студентам 2 02.11.2008 11:15
Вопрос о StringGrid MasterofCDM Общие вопросы Delphi 2 23.09.2008 10:58