Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.25;
Скачать: CL | DM;

Вниз

Вставка строки в ячейку Grid по нажатию кнопки   Найти похожие ветки 

 
Spooky   (2002-07-12 10:10) [0]

Помогите решить проблему.
Есть Grid, не важно какой (если надо, я подстроюсь) и есть кнопка. Мы находимся в режиме редактирования ячейки, нажимаем кнопку и там где был курсор должна вставиться определенная строка.
Я знаю, что можно на нажатие кнопки поставить
PostMessage(Prof.Handle, WM_CHAR, Word("р"), 0);
НО! При нажатии на кнопку мы автоматически выходим из режима редактирования и ... текст то в ячейку вставляется, но совсем не туда, где был курсор, а в начало или конец (в зависимости от настроек).


 
BAY ©   (2002-07-12 10:29) [1]

У тебя Grid связанный с DataSet?
Если да то и пиши в DataSet.


 
Spooky   (2002-07-12 10:32) [2]

Вообще то без DataSet, у меня просто Grid, не DB.
А что ты имеешь в виду "пиши в DataSet"?


 
BAY ©   (2002-07-12 10:34) [3]

DataSet.Edit;
<Пишем куда надо>
DataSet.Post;


 
still ©   (2002-07-12 10:44) [4]

Делай это на нажатие не кнопки, а, например, панели (она не принимает фокус). Раздичными бордерами на MouseDown и MouseUP имитируй нажатие кнопки, на OnClick делай PostMessage.
ВСЕ OK!


 
Yuri-7   (2002-07-12 10:53) [5]

SG.Cells[SG.Col,SG.Row]:="jjjjj";


 
Yuri-7   (2002-07-12 10:56) [6]

Для режима редактирования, точнее будет
SG.Cells[SG.Col,SG.Row]:=SG.Cells[SG.Col,SG.Row]+"jjjjj";


 
MBo ©   (2002-07-12 11:13) [7]

type
TXGrid=class(TStringGrid);
...
Var
EDPos:integer;
IsEditing:boolean;


procedure TForm1.Button1Click(Sender: TObject);
var dwStyle:DWord;
begin
with StringGrid1 do
Cells[Col,Row]:=Copy(Cells[Col,Row],1,EdPos)+"qq"+
Copy(Cells[Col,Row],EdPos+1,Length(Cells[Col,Row]));
end;

procedure TForm1.StringGrid1Exit(Sender: TObject);
begin
if IsEditing then begin
EdPos:=TXGrid(StringGrid1).inplaceeditor.selstart;
caption:=inttostr(edpos);
end;
IsEditing:=False;
end;

procedure TForm1.StringGrid1GetEditText(Sender: TObject; ACol,
ARow: Integer; var Value: String);
begin
IsEditing:=True;
end;


 
Spooky   (2002-07-12 13:42) [8]

Спасибо народ!



Страницы: 1 вся ветка

Текущий архив: 2002.07.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
3-81169
lexa-m
2002-07-04 08:42
2002.07.25
Ув. Мастера, объясните наконец


3-81202
Dmitr
2002-06-26 14:04
2002.07.25
Как выделить цветом и обвести ячейку в Excel?


14-81434
Чайник2
2002-06-27 08:36
2002.07.25
Железо


1-81369
MASTERok
2002-07-14 00:53
2002.07.25
Прозрачность


1-81224
Help
2002-07-13 20:02
2002.07.25
Как в Memo вставить текст при нажатии...