Вниз
Скачать: CL | DM;

ActiveControl.Handle   Найти похожие ветки 

← →
Eli   (2004-01-29 12:50) [0]

Мастера, подскажите, пожалуйста, как определить выделен ли текст в одной из ячеек StringGrid, чтобы потом скопировать его в буфер с помощью

SendMessage (ActiveControl.Handle, WM_Cut, 0, 0);


← →
Zergling ©   (2004-01-29 12:56) [1]

Selected... ?


← →
Eli   (2004-01-29 13:05) [2]

Пока не понял :(


← →
Zergling ©   (2004-01-29 13:20) [3]

Метод StringGrid1.Selection
Определяет какой диапазон ячеек выделен
Можно воспользоваться событиями
OnGetEditText (наверно лучше его)
OnSetEditText
OnSelectCell

OnGetEditText (наверно лучше его)
OnSetEditText
срабатывают если в свойствах Options.goEditing := true;


← →
Eli   (2004-01-29 13:49) [4]

Выделил одну ячейку, выделил в ней текст, щелкнул по правой кнопке мышки и получил PopupMenu вот там у меня есть MenuItem "Вырезать"
Если длина выделенного текста равна 0, эта опция должна быть Enabled=false, но как определить длину выделенного текста?
В RichEdit есть SelLength, а что есть в StringGrid?
И как обратиться к ActiveControll, чтобы получить выделенный текст или его длину?


← →
Zergling ©   (2004-01-29 13:57) [5]

Хм... Такого напрямик незнаю. Наверно немного в обход для редактирования ячейки подсовывать контрол TEdit (поищи по форуму как в грид контролы подсовывать, обсуждалось уже както раз). У этого TEdit и определить выделенный текст.


← →
MBo ©   (2004-01-29 14:10) [6]

type
TXGrid=class(TStringGrid);

procedure TForm1.Button1Click(Sender: TObject);
var
XG:TXGrid;
begin
XG:=TXGrid(StringGrid1);
if XG.InplaceEditor<>nil then
if XG.InplaceEditor.SelLength<>0 then
Edit1.Text:=XG.InplaceEditor.SelText;
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
3-29199
Бывающий
2004-01-20 15:43
2004.02.10
Помогите написать простенькую функцию на SQL


3-29219
СлБ
2004-01-08 14:30
2004.02.10
Свой Preview


4-29653
frost
2003-12-06 15:21
2004.02.10
Буфер Windows


1-29370
Андрей Р
2004-01-29 01:53
2004.02.10
Сохранение Memo в txt


14-29549
sad
2004-01-21 08:17
2004.02.10
Lazarus.Win32..Компонент для работы с Interbase Firebird.




   Наверх