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

Вниз

TStringGrid - скроллинг   Найти похожие ветки 

 
greenrul   (2002-06-28 22:32) [0]

у меня в StringGird рисуются картинки из ImageList, рисуются при OnDrawCell. Беда в том, что как только появился скроллинг, начались страшные глюки: последняя картинка становилась первой, и далее при скроллинге где ячейка была верхней и левой там картинка СНОВА менялась на последнюю... Может кто чего и понял из описанного 8) но приведу пример:

procedure TMainForm.cellBrowserDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var i,ir,ic,l,t:integer;
begin
ic:=0;
ir:=0;
for i:=1 to stotal {общее кол-во картинок} do
begin
If ic=cellBrowser.ColCount then
begin
Inc(ir);
ic:=0;
end;
t:=cellBrowser.CellRect(ic,ir).top
l:=cellBrowser.CellRect(ic,ir).left;
ImageList1.Draw(cellBrowser.Canvas,l,t,i-1);
Inc(ic);
end;
end;



Подскажите плиз!


 
greenrul   (2002-06-28 23:56) [1]

Ну помогите ради бога!

ТРИ ЧАСА над этим мучался, и все без толку....

ПЛИЗ,,..

я уверен, мастера - вам это на пять минут, не больше


 
greenrul   (2002-06-29 02:04) [2]

HELP!


 
greenrul   (2002-06-29 03:17) [3]

please....

оччень нужно


 
MBo   (2002-06-29 06:39) [4]

procedure TMainForm.cellBrowserDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
ImageList1.Draw(cellBrowser.Canvas,Rect.Left+1,
Rect.Top+1,ARow*cellBrowser.ColCount+ACol);
end;


 
greenrul   (2002-06-29 13:04) [5]

СПАСИБО!!

не представляете, как выручили, только один вопросик - как узнать номер ячейки по такому принципу:


1 2
3 4
5 6

как узнать какой номер сейчас перерисовывают


 
Юрий Зотов   (2002-06-29 17:37) [6]

> как узнать какой номер сейчас перерисовывают

Тот, который который находится на пересечении строки с номером ARow и столбца с номером ACol (а эти данные приходят в обработчик). Как написал MBo:

ARow * cellBrowser.ColCount + ACol

Только учтите, что ARow и ACol базированы на нодь, а не единицу (то есть, нумерация строк и столбцов идет с нуля). Если Вам надо базировать отсчет ячеек на единицу, то сделайте сдвиг:

ARow * cellBrowser.ColCount + ACol + 1


 
greenrul   (2002-06-29 18:54) [7]

Спасибо огромное, только сам уже догадался 8)

если не трудно, посмотрите немного аналогичный вопрос - http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1025360912&n=0



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

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

Наверх





Память: 0.46 MB
Время: 0.013 c
1-47371
RDA
2002-07-01 16:05
2002.07.15
Любые ошибки при работе с компонентом


1-47442
DenNNis
2002-07-03 11:31
2002.07.15
Excel ???


4-47882
SLY-YO
2002-05-11 14:22
2002.07.15
Как на Delphi отключить отдельные кнопки.


6-47638
DenNNis
2002-04-30 08:00
2002.07.15
Мастерам


6-47639
Sergey_001
2002-05-03 14:52
2002.07.15
У меня к вам два вопроса.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский