![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Заполнение StringGrid в RunTime. Автопрокрутка.
Cosinus © (2004-10-28 13:22:00)Собственно почти весь вопрос в теме. В RunTime я заполняю StringGrid и когда доходит до последней видимой строчки, необходимо организовать авто прокрутку.
Нижеприведенный код почему то не работает...
if Data_sg.RowCount>26 then
for l:=1 to Data_sg.RowCount-26 do
SendMessage(Data_sg.Handle,WM_VSCROLL, SB_LINEDOWN ,0);
Subdigger (2004-10-28 14:59:00) [1]попробуй так
StringGrid1.TopRow:=3;
Subdigger (2004-10-28 14:59:00) [2]попробуй так
[code] StringGrid1.TopRow:=3;[/code]
Cosinus (2004-10-28 14:31:00) [3]
> Subdigger © (28.10.04 14:25) [17]
Неа.. Ничего не ловлю.
Я уж и не знаю, что делать... Прибил OnDrawCell, прибил вообще все, что связано с StringGrid, кроме процедуры, добавляющей данные в таблицу... Не катит.
Subdigger (2004-10-28 14:25:00) [4]>Cosinus © (28.10.04 14:20) [16]
а мож ты дето в проге отлавливаеш мессаги... и баниш их....
Cosinus (2004-10-28 14:20:00) [5]
> Subdigger © (28.10.04 14:14) [15]
Если ты имеешь ввиду тот VertScrollBar, который появляется, когда значение RowCount переваливает за VisibleRowCount, то да. Если ручками прокручивать, то все отлично работает...
Subdigger (2004-10-28 14:14:00) [6]> Cosinus © (28.10.04 14:11) [14]
а прокрутка не автоматическая работает?
Cosinus (2004-10-28 14:11:00) [7]
> Subdigger © (28.10.04 14:10) [13]
ФФФак!!! Почему же у меня то ничего не работает???
Subdigger (2004-10-28 14:10:00) [8]2 Cosinus
Да кстати тот код что ті привел в начале у меня работает.!??
Cosinus (2004-10-28 14:02:00) [9]
object Data_sg: TStringGrid
Left = 0
Top = 40
Width = 561
Height = 425
Color = clBlack
ColCount = 40
DefaultColWidth = 16
DefaultRowHeight = 16
FixedCols = 0
RowCount = 1
FixedRows = 0
Font.Charset = RUSSIAN_CHARSET
Font.Color = clLime
Font.Height = -11
Font.Name = 'Fixedsys'
Font.Style = []
GridLineWidth = 0
Options = [goThumbTracking]
ParentFont = False
PopupMenu = Data_pm
ScrollBars = ssVertical
TabOrder = 6
OnDrawCell = Data_sgDrawCell
end
pasha_golub (2004-10-28 13:58:00) [10]х..ня какая-то...
У меня вот так выглядит:
object StringGrid1: TStringGrid
Left = 280
Top = 200
Width = 320
Height = 120
RowCount = 26
TabOrder = 1
end
А у тебя как? Или ты его полностью в ран-тайм создаешь?
Cosinus (2004-10-28 13:53:00) [11]
> pasha_golub © (28.10.04 13:50) [8]
Ну не работает и все...
Data_sg.ScrollBars:=ssVertical
> pasha_golub © (28.10.04 13:51) [9]
Нет
pasha_golub (2004-10-28 13:51:00) [12]У тебя случайно на OnSelectCell ничего не висит?
pasha_golub (2004-10-28 13:50:00) [13]Ну, как не работает, когда работает? А?
sg.Row := sg.RowCount -1;
Проверь предположение Subdigger © (28.10.04 13:44) [5]
Cosinus (2004-10-28 13:48:00) [14]
> Subdigger © (28.10.04 13:44) [5]
Даже не смешно
Cosinus (2004-10-28 13:47:00) [15]
if Data_sg.RowCount>26 then Data_sg.Row:=Data_sg.RowCount-1;
Не катит ;(
Subdigger (2004-10-28 13:44:00) [16]еси ты юзаеш стрингрид то у него есть пропертя ScrollBars - по умолчанию она равна ssBoth если ты там поставил ssNone то никто тебе не поможет =)
pasha_golub (2004-10-28 13:43:00) [17]StringGrid.Col := StringGrid.ColCount-1;
Try this
pasha_golub (2004-10-28 13:42:00) [18]Cosinus © (28.10.04 13:22)
Дело в том, что Грид не есть стандартный элемент управления, посему ему это сообщение до заднего места.
Щас поищу как это сделать
Cosinus (2004-10-28 13:31:00) [19]Может я туплю, но я не нашел никакого свойства отвечающего за автопрокрутку, а по дефолту не прокручивает...
Subdigger (2004-10-28 13:28:00) [20]а чем тебе стандартная не подходит?