Вопрос № 95417: Здравствуйте уважаемые эксперты.
На форме имеется Image:Timage. Рисую на этом компоненте с помощью канвы. (Image.canvas ….) При увеличении ширины Image все вычисляется и рисуется заново. В процессе рисования выводится надпись (textout(x,y,’какой...Вопрос № 95419: Здравствуйте!
Объект TStringGrid.
Если в настойках стоит goEditing,goAlwaysShowEditor,
то когда мы кликаем по ячейке, текст в ячейке выделяется и включается режим редактирования.
Скажите пожалуйста, как вручную поставить одн...
Вопрос № 95.417
Здравствуйте уважаемые эксперты.
На форме имеется Image:Timage. Рисую на этом компоненте с помощью канвы. (Image.canvas ….) При увеличении ширины Image все вычисляется и рисуется заново. В процессе рисования выводится надпись (textout(x,y,’какой то текст’)). Проблема в том что когда я растягиваю Image (во время выполнения программы), то textout растягивается в месте с ним, то есть надпись получается растянутой. Как этого избежать?
Лучше всего запомнить координаты и текст в память (отдельно от рисунка) и перерисовывать поверх при изменении размеров.
--------- Все всегда делается к Лучшему!
Ответ отправил: ~Steep~ (статус: 9-ый класс)
Ответ отправлен: 17.07.2007, 14:07 Оценка за ответ: 4 Комментарий оценки: по подробнее пожалуйста
Вопрос № 95.419
Здравствуйте!
Объект TStringGrid.
Если в настойках стоит goEditing,goAlwaysShowEditor,
то когда мы кликаем по ячейке, текст в ячейке выделяется и включается режим редактирования.
Скажите пожалуйста, как вручную поставить одну отдельную ячейку в режим редактирования с выделенным текстом, как если бы мы кликнули по ней.
Заранее спасибо.
Отправлен: 17.07.2007, 13:47
Вопрос задал: _porodox_ (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Coupler
Здравствуйте, _porodox_!
Посмотрите такое решение:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
form1.StringGrid1.Cells[3,1]:='111';
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var GC: TGridrect;
begin
GC.Left:=3;//координаты
GC.Top:=1;//нужной ячейки (3,1)
GC.Right:=3;
GC.Bottom:=1;
form1.StringGrid1.Selection:=GC;
form1.StringGrid1.SetFocus;
end;
Ответ отправил: Coupler (статус: Практикант)
Ответ отправлен: 17.07.2007, 14:02
Отвечает: Gh0stik
Здравствуйте, _porodox_!
Создайте обработчик StringGrid1SelectCell и в нем пропишите примерно такой код: procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if (ACol=2) and (ARow=2) //Вы просто измените условие на нужное...
then StringGrid1.Options:=StringGrid1.Options+[goEditing,goAlwaysShowEditor]
else StringGrid1.Options:=StringGrid1.Options-[goEditing,goAlwaysShowEditor];
end;
В данном случае в режим редактирования будет переходить ячейка с индексом (2, 2) - и не забывайте что нумерация ячеек начинается с нуля.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 17.07.2007, 14:07