Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.snto-msu.net/showflat.php?Number=7590125&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Wed Apr 13 02:16:06 2016
Кодировка: Windows-1251
Помогите, пожалуйста, с Delphi - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 1
Flame
~~~~~

Рег.: 14.11.2007
Сообщений: 25
Рейтинг: -7
  Помогите, пожалуйста, с Delphi
      07.06.2008 12:33
-2

У меня есть следующая проблема. Есть таблица StringGrid, при двойном нажатии на ячейку помещаю над ячейкой выпадающее меню ComboBox в событии StringGrid3DrawCell, тоже самое, что OnPaint для формы. Когда начинаешь прокручивать с помощью полосы прокрутки, все хорошо до тех пор, пока ячейка находится в пределах видимости, а дальше остается на последней видимой ячейке. Как можно проверить в пределах видимости или нет находится ячейка?

dtbeaver
латентный вантузоид

Рег.: 04.01.2005
Сообщений: 7272
Рейтинг: 8203
  Re: Помогите, пожалуйста, с Delphi [re: Flame]
      07.06.2008 12:48
-3

код обработчика в студию. а то на пальцах непонятно как воспроизвести этот эффект



Flame
~~~~~

Рег.: 14.11.2007
Сообщений: 25
Рейтинг: -7
  Re: Помогите, пожалуйста, с Delphi [re: dtbeaver]
      07.06.2008 12:53
-1

Все спасибо, буквально сейчас решил эту проблему, может немного коряво, но все же.

code:
if StringGrid3.CellRect(Sel1Col, Sel1Row).Top = 0 then ComboBox2.Visible := false;


Вот эта строчка решила проблему. Sel1Col и Sel1Row это выбранная на данный момент ячейка.

KAA

Рег.: 28.08.2003
Сообщений: 5310
Рейтинг: 2478
  Re: Помогите, пожалуйста, с Delphi [re: Flame]
      07.06.2008 12:58
 

http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_22017501.html

Flame
~~~~~

Рег.: 14.11.2007
Сообщений: 25
Рейтинг: -7
  Re: Помогите, пожалуйста, с Delphi [re: KAA]
      07.06.2008 13:02
 

Там код с этой же проблемой...

CROTishka
Shai-Hulud

Рег.: 09.06.2004
Сообщений: 31435
Из: - под земли
Рейтинг: 3654
  Re: Помогите, пожалуйста, с Delphi [re: Flame]
      07.06.2008 14:47
1

В ответ на:

if StringGrid3.CellRect(Sel1Col, Sel1Row).Top = 0 then ComboBox2.Visible := false;


безобразие =)



Flame
~~~~~

Рег.: 14.11.2007
Сообщений: 25
Рейтинг: -7
  Re: Помогите, пожалуйста, с Delphi [re: CROTishka]
      08.06.2008 14:04
 

Лучше бы помог сделать по-человечески.

CROTishka
Shai-Hulud

Рег.: 09.06.2004
Сообщений: 31435
Из: - под земли
Рейтинг: 3654
  Re: Помогите, пожалуйста, с Delphi [re: Flame]
      08.06.2008 14:13
 

По человечески - писать новый класс. за $.
Хотя для коленочной поделки, если только один такой объект, и так сойдет.
Безобразие - это скорее относилось к названиям объектов.
з.ы. а почему при двойном клике?



ramir

Рег.: 19.04.2008
Сообщений: 802
Из: ФДС
Рейтинг: 469
  Re: Помогите, пожалуйста, с Delphi [re: CROTishka]
      11.06.2008 17:23
 

При чем тут двойной клик?

CROTishka
Shai-Hulud

Рег.: 09.06.2004
Сообщений: 31435
Из: - под земли
Рейтинг: 3654
  Re: Помогите, пожалуйста, с Delphi [re: ramir]
      11.06.2008 17:56
 

Я чисто насчет эргономности рассуждаю.
По хорошему вообще у каждой строчки стринглиста толжна рисоваться дропдаунпопап-кнопка, и список вываливаться по одному клику на него.
Но я это все рассуждаю в отрыве от проекта.



ramir

Рег.: 19.04.2008
Сообщений: 802
Из: ФДС
Рейтинг: 469
  Re: Помогите, пожалуйста, с Delphi [re: CROTishka]
      11.06.2008 23:41
 

Да, было бы неплохо, а как на счет того, чтобы послать сообщение комбобоксу раскрыться? Только не знаю какое это сообщение...

CROTishka
Shai-Hulud

Рег.: 09.06.2004
Сообщений: 31435
Из: - под земли
Рейтинг: 3654
  Re: Помогите, пожалуйста, с Delphi [re: ramir]
      12.06.2008 00:02
 

Ты как-то связан с Flame?
При чем тут вообще комбобокс? Если писать свою гуевину(как я описываю), то его там быть не должно.
А вообще ответ на твой вопрос: надо поменять Tcombobox.DroppedDown свойство, или вызвать аналогичный метод, который это делает.



Rad
delinquent guy

Рег.: 06.09.2005
Сообщений: 17291
Из: here and there
Рейтинг: 2232
  Re: Помогите, пожалуйста, с Delphi [re: CROTishka]
      12.06.2008 02:34
1

В ответ на:

А вообще ответ на твой вопрос: надо поменять Tcombobox.DroppedDown свойство, или вызвать аналогичный метод, который это делает.


Или отправить ему нажатие хоткея Alt+Down.



CROTishka
Shai-Hulud

Рег.: 09.06.2004
Сообщений: 31435
Из: - под земли
Рейтинг: 3654
  Re: Помогите, пожалуйста, с Delphi [re: Rad]
      12.06.2008 04:53
 

Вы батенька знаете толк в извращениях! :D :grin: :grin: :grin:



Rad
delinquent guy

Рег.: 06.09.2005
Сообщений: 17291
Из: here and there
Рейтинг: 2232
  Re: Помогите, пожалуйста, с Delphi [re: CROTishka]
      12.06.2008 07:25
 

В ответ на:

Вы батенька знаете толк в извращениях! :D :grin: :grin: :grin:


Способ гораздо более универсальный. Что если у тебя будет не комбобокс, а другой подобный контрол?




ramir

Рег.: 19.04.2008
Сообщений: 802
Из: ФДС
Рейтинг: 469
  Re: Помогите, пожалуйста, с Delphi [re: CROTishka]
      13.06.2008 00:59
 

Ну... да =)

Страницы: 1

Technical >> Development (Archive)

Дополнительная информация
1 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в