![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.03.2011
Сообщений: 19
|
![]()
Добрый день господа. Всех с празником
![]() Такая ситуация: На форме имею: 1) Кнопки "Виход" и т.д. 2) StringGrid в обработчике собития StringGrid -> OnsetEdittext procedure TForm2.StringGrid1SetEditText(Sende r: TObject; ACol,ARow: Integer; const Value: String); begin z:=stringgrid1.Cells[ACol,Arow]; ACol1:=StringGrid1.Col; ARow1:=StringGrid1.Row; if z<>''then Q2; end; Процедура Q2 имеет дела с динамическими массивами Такой вопрос: Как завершить автоматически редактирование ячейки StringGrid ? Потому как при нажатии кнопки "выход" невнимательный "пользователь" может не заметить что находится в режиме редактирование ячейки, тоесть, ввел в ячейку число и курсор там и остался мегать, хотя эффект редактирование уже пошло в Q2 и нажимает "выход" При нажатии "Виход " проблем нет, проэкт при это работает, есть проблемы при повторной загрузки этой формы пишет ошибку, видно что та ячейка в Stringgrid активная. ![]() Кнопка "Выход" procedure TForm2.SpeedButton3Click(Sender: TObject); begin if prov=true then begin mastype:=nil; Form2.image1.Picture:=nil; A3:=NIL; A2:=Nil; Form2.Memo1.Clear; Form2.Edit1.Clear; Form2.Edit2.Clear; Form2.Edit3.Clear; Prov:=false; end; Form2.Close; end; Пробывал обновить Form2.Refresh; Form2.StringGrid1.Refresh; все бесполезно ![]()
Меня не интересует, почему «нет», меня интересует, что нужно сделать для того, чтобы было «да»!
Последний раз редактировалось Tenebor; 09.05.2011 в 15:07. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 07.03.2011
Сообщений: 19
|
![]()
Вот нашел способ:
Переносим форму в Availabel forms в кнопке запуска формы Form2:=TForm2.Create(self); Form2.ShowModal; на выходе из формы Form2.Close; Все как языком слизует с формы ! Правда мне не очень нравится каждый раз так форму запускать. Хоть задачу дефактум решил, может кто чего еще порекомендует ?
Меня не интересует, почему «нет», меня интересует, что нужно сделать для того, чтобы было «да»!
|
![]() |
![]() |
![]() |
#3 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
попробуй установить в гриде selection(для этого понадобится создать запись tgridrect ) на нетекущую ячейку
|
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 07.03.2011
Сообщений: 19
|
![]() Цитата:
case Integer of 0: (Left, Top, Right, Bottom: Longint); 1: (TopLeft, BottomRight: TGridCoord); end; property Selection: TGridRect; ---------------------------------------------------------------- Указанная операция выделения нескольких ячеек мышкой окажется невозможной, если опция goEditing (отвечающая за возможность ввода в ячейку с клавиатуры) будет равна True. Это значит, что для того чтобы иметь возможность и выделять несколько ячеек, и делать ввод с клавиатуры в ячейку, нужно поочерёдно, в нужные моменты подключать или удалять из множества Optons опцию goEditing. Используется для выдиления группы ячеек, а мне нужно убрать курсор(автоматически) с ячейки таблицы, после ввода в нее данных. Грубо говоря выйти из режима редактировать автоматически, допустим что бы курсор стал на Edit или на любое таксторое поле. Может я чего не понял ? но кажется это не тот случай ? ![]()
Меня не интересует, почему «нет», меня интересует, что нужно сделать для того, чтобы было «да»!
|
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
TstringGrid F1 Methods showEditor
Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 10.05.2011 в 09:33. |
|
![]() |
![]() |
![]() |
#6 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
я некогда делал так для переключения ячейки (обычно же ячейка 0,0 неактивная) : grid.selection := tgridrect(rect(0,0,0,0));
но соглашусь, hideeditor, showeditor, editormode именно для данной задачи что надо ) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
StringGrid | ВасяСВВ | C++ Builder | 4 | 31.03.2011 23:25 |
stringgrid+колесо мыши=>stringgrid.onclick | aalleexxaa | Общие вопросы Delphi | 5 | 16.02.2011 16:58 |
StringGrid | zmey31313 | Помощь студентам | 1 | 28.03.2010 15:18 |
StringGrid, Excel проблемы | artemavd | Общие вопросы Delphi | 8 | 28.11.2008 19:37 |