Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
4-47903
Rival
2002-05-13 15:13
2002.07.15
Как легко поместить иконку в трэй и вызывать из


14-47709
var
2002-06-19 06:24
2002.07.15
CPOЧHO!!!


1-47287
mike.dld
2002-06-30 12:55
2002.07.15
Здравствуйте, Мастера!


1-47260
James007
2002-06-23 16:36
2002.07.15
Сохранение настроек формы и всех компонентов в файл


14-47808
OlegG
2002-06-15 14:33
2002.07.15
Help file