Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c