| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Рисование на PictureBox :) |
| Автор: kulibin 7.2.2006, 14:20 |
| Взялся я писать свою дата-грид Использую для рисования PictureBox и родные барсиковские методики (без апи): Print, Line, PaintPicture. Причём проблема как я понял именно в PaintPicture - при его использовании то, что им нарисовано иногда залазит немного выше чем я прошу по вертикали и немного дальше по горизонтали. Собственно алгоритм то для всех ячеек один и прокручивается в цикле - т.е. это точно не мой бок. Был бы мой - повторялся бы на каждой ячейке, а не на каждой пятой-седьмой. Думал на апи переписать - токо не большой я в этом профессионал. Сам то я смогу это сделать - но не охота терять время на это без полной уверенности что это поможет. Да и код усложнять тоже не охота - он там уже не маленький и растёт постоянно и очень шустро Если кто занимался сурёзно рисованием на picturebox - скажите плз что бы это значило. Спасибо. Кстати - не так то это сложно - свой грид нарисовать Вот кому интересно картинка прилагается Добавлено @ 14:22 Упс - картинка не захотела прикрепляться |
| Автор: ~FoX~ 7.2.2006, 16:32 |
| kulibin Ну ты хоть кусочек кода то покажи и картинку где смещение показано... |
| Автор: kulibin 7.2.2006, 18:17 | ||
| так картинка прикреплена к предыдущему посту. Смещение то не большое там вот код, рисующий грид:
Переменные в коде: pGRD - PictureBox в котором таблица вся рисуется pCell - PictureBox в котором рисуестя ячейка таблицы mCols - коллекция, в которой хранятся настройки по каждому столбцу - ширина, цвет текста, выравнивание и т.п. LeftCol - переменная, хранящая номер первого столбца на экране - для горизонтальной прокрутки ScrRows - к-во строк, влезающее на экран (рисуются только они) vSB - вертикальный скролбар c, r - переменные для перебора в циклах соответственно столбцов и строк CurCol - хранит номер столбца, в котором курсор CRwAPos - хранит абсолютную позицию текущей записи в рекордсете TRwAPos - то же для верхней строки на экране LRwAPos - для последней строки на экране там толщина линий сетки плывёт. Иногда фон проглядывает - возле тех же линий. На линиях курсора тоже толщина не одинаковая. Я сначала там DrowWidth ставил=1 - но линии вообще закрывались нижними и правыми ячейками. Поставил DrowWidth =2 - теперь они просто разной толщины. |
| Автор: Naghual 8.2.2006, 10:19 |
| Дай описание коллекции mCols |