Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];

Вниз

StringGrid при нажатии на ячейку был выделенный текст   Найти похожие ветки 

 
Dmitry_177   (2007-05-17 14:46) [0]

Есть StringGrid, как сделать так что при выборе ячейки выделялась не сама полностью ячейка а только текст который там находится, т.е. так что коббудто весь этот текст выделили?

А еще как сделать так чтобы каретка не моргала? т.е. что текст нельзя редактировать?


 
{RASkov} ©   (2007-05-17 15:05) [1]

> [0] Dmitry_177   (17.05.07 14:46)

Смотри EditorMode или ShowEditor->(TCustomGrid)
Ну а по второй части вопроса HideCaret(<InplaceEdit>.Handle), а вот еще и только для чтения, тут фик знает, как проще сделать, наверное свой грид наследовать от TCustomGrid


 
Dmitry_177   (2007-05-17 19:35) [2]

EditorMode он только лишь разрешает/запрещает редактирование.. А вот как бы мне выделить весь текст?


 
{RASkov} ©   (2007-05-18 00:19) [3]

> А вот как бы мне выделить весь текст?

Попробуй плясать вот отсюда, но это не отвечает на все твои вопросы:

procedure TForm1.FormCreate(Sender: TObject);
var C, R: Integer;
begin
 StringGrid1.Options:=StringGrid1.Options+[goEditing];
 for C := 0 to StringGrid1.ColCount-1 do
  for R := 0 to StringGrid1.RowCount-1 do
   StringGrid1.Cells[C, R]:=Format("[%d,%d]", [C, R]);
end;

type TGr = class(TCustomGrid);
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
 TGr(Sender).ShowEditor;
 //TGr(Sender).InplaceEditor.SelectAll; //Выделить весь текст. В данном месте не обязательно.
 HideCaret(TGr(Sender).InplaceEditor.Handle); //И это не навсегда :) Стоит кликнуть по Fixed
end;

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
 Key:=#0; // >т.е. что текст нельзя редактировать?
end;

Или смени контрол(StringGrid) или пиши наследника.... А это извращение...


 
Германн ©   (2007-05-18 00:52) [4]


> А это извращение...

И в прямь извращение, согласен. И сколько сейчас на форуме подобного извращения, просто жуть берёт. То Мемо без каретки и копирования, то StringGrid.
Летнее обострение? :)


 
{RASkov} ©   (2007-05-18 03:45) [5]

> [4] Германн ©   (18.05.07 00:52)
> Летнее обострение?

ЛюдЯм поднадоело привычное(стандартное), хотят изврата.... :о) Сам удивляюсь ихим желаниям....;)
В принципе ничего удивительного не было, елиб не пытались рисовать на Мемо или вводить текст в Image с клавиатуры....(утрировано)..)


 
ЮЮ ©   (2007-05-18 10:49) [6]

>EditorMode он только лишь разрешает/запрещает редактирование.. А вот как бы мне выделить весь текст?

Это что за новое толкование поведения Грида? Изменеие EditorMode - это создание/уничтожение InplaceEdit-а, к которому, собственно, уже и следует обращвться для выделения текста:

type TStringGridAccess = class(TStringGrid);

procedure TForm1.Label1Click(Sender: TObject);
begin
 if not StringGrid1.EditorMode then
   StringGrid1.EditorMode := true;
 TStringGridAccess(StringGrid1).InplaceEditor.SelectAll
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 StringGrid1.SetFocus;
 Label1Click(nil);
end;



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

Форум: "Основная";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.056 c
2-1183133790
Nyo
2007-06-29 20:16
2007.07.22
Запуск внешнего приложения в окне своего


15-1182299605
multilink
2007-06-20 04:33
2007.07.22
Программа для управления несколькими соединениями


2-1183121226
TruePunk
2007-06-29 16:47
2007.07.22
как установить


2-1182890452
Сорокин М
2007-06-27 00:40
2007.07.22
qreport


15-1182782540
icqbot
2007-06-25 18:42
2007.07.22
ICQ BOT





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский