powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / как создать свой собственный очень простенький grid ?
25 сообщений из 82, страница 3 из 4
как создать свой собственный очень простенький grid ?
    #39486160
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_SheratonНапример, рисовать не все ячейки, а только видимую область,
это общее место, недостойное обсуждения
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486162
_Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton_Sheratonпропущено...


Да, но хотя бы идею почерпнуть в общих чертах можно. Например, рисовать не все ячейки, а только видимую область, остальные ячейки подрисовывать по мере скроллинга. Дабы не было излишних тормозов в работе грида.
Вы серъезно? Это каким нужно обладать обобщяющим моском чтобы осознать
это читая ИСХОДНИКИ ?

Ну я вас умоляю. Прекратите.

Ну это уже вопрос полемики. Хотя на самом деле там можно разобраться. Как-то 5 лет назад у меня возникла необходимость добавить некоторый функционал в wxGrid. Залез в исходник и учитывая, что я не гениальный программист, за месяц разобрался и унаследовал свой грид от wxGrid и добавил нужный мне функционал.
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486164
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для особо одаренных спорщиков.

Я посмотрел в свой _готовый_ код. Там 177 LOC, но только вертикальный скроллинг, но с расчетом шрифта.
В 20 ЛОК я добавлю и горизонтальный.

В 100 (максимум) - заголовки.

Не надо кричать __импоссибле___, ___всю жизь на контрол убил___, итп
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486165
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglНе надо кричать __импоссибле___, ___всю жизь на контрол убил___, итпвот-вот
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486190
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
N0B0DY123может быть тогда опишите техническое задание, в общих чертах,
хочется иметь представление, как делают grid.это что, троллинг такой? Тебе нужен грид, ты сам должен знать "что такое грид" и какими характеристиками он обладает. А так получается, мы тебе ещё должны и тех задание придумать, а потом сами ещё тебе и код по нему код написать.

Нет, сначала разберись с понятиями, потом пиши по пунктам, что тебе надо от грида, а потом будет разбираться с кодом.
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486218
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрите как афтор (NOBODY) лихо вбросил на вентилятор. И что характерно сам сбежел.
Я не удивлюсь если на рсдн или сайберфорум будет реплика первого поста.

Всем, спорящим со мной. Вы подходите к сабж с позиции знатоков. Или знающих UI API.
Автор не просто новичек. Он даже не может поставить задачу. Его надо прокатить по основам
графического и геометрического моделирования. Рассказать ему о примитивах. Точка. Линия.
Полигон. Цвет и модели. Растровые операции. Двойной буфер. Z-ордеринг. События UI
(ON_PAINT) Особенности однопоточного режима графики. Примитивные контролы как пример
строительства rich-UI.

Вот такой дидактический подход. А вы ему ... (!) wxWidgets.

Ну я вас умоляю. Не продолжайте.
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486230
_Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SiemarglДля особо одаренных спорщиков.

Я посмотрел в свой _готовый_ код. Там 177 LOC, но только вертикальный скроллинг, но с расчетом шрифта.
В 20 ЛОК я добавлю и горизонтальный.

В 100 (максимум) - заголовки.

Не надо кричать __импоссибле___, ___всю жизь на контрол убил___, итп

Интересно, получается около 200 строк. Это без возможности редактировать ячейки по клику мышки? Большой объем данных можно загрузить? Если из DBF-файла выгрузить миллиона полтора строк?
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486231
_Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonСмотрите как афтор (NOBODY) лихо вбросил на вентилятор. И что характерно сам сбежел. ,..............

Ну я вас умоляю. Не продолжайте.

Дак люди просто общаются на интересную тему. За автора темы все уже и забыли. Что плохого в том, что бы делиться с коллегами идеями и информацией?
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486385
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот картинка табличного редактора (генератора отчетов) с Excel-подобным grid, который имеет больше 10000 исходных строк...
Разрабатывался и дорабатывался несколько лет.



По сути получился микро-Excel, который даже умеет писать и читать напрямую простенькие файлы xls (формат 95-2000).
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486457
_Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
d7iВот картинка табличного редактора (генератора отчетов) с Excel-подобным grid, который имеет больше 10000 исходных строк...
Разрабатывался и дорабатывался несколько лет.
........
По сути получился микро-Excel, который даже умеет писать и читать напрямую простенькие файлы xls (формат 95-2000).

Какой GUI использовался MFC, WinAPI или может быть Qt?
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486467
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Sheratond7iВот картинка табличного редактора (генератора отчетов) с Excel-подобным grid, который имеет больше 10000 исходных строк...
Разрабатывался и дорабатывался несколько лет.
........
По сути получился микро-Excel, который даже умеет писать и читать напрямую простенькие файлы xls (формат 95-2000).

Какой GUI использовался MFC, WinAPI или может быть Qt?

Я же уже писал :
d7iPower++ (Optima++).
Не знаю точно, но он явно использует WinAPI, потому что внешний вид контролов
полностью совпадает с Microsoft.Windows.Common-Controls согласно текущей теме Windows.

Добавлю: это продукт прошлого века, однако я его использую до сих пор и приложения, сделанные на нем,
прекрасно работают, начиная с Windows 95 и вплоть до Windows 10 включительно.
Правда, у него есть на нынешние времена огромный недостаток: он делает только 32-разрядные приложения.
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486473
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d7iНе знаю точно, но он явно использует WinAPI, потому что внешний вид контроловМожно Spy-ем посмотреть. Обычно по типу окон сразу понятно, на чём оно написано.

Ну и кстати, я не зря просил описание по пунктам. Вот на картинке есть, например, ячейки, которые colspan/rowspan, это уже дополнительная песня в разработке. Поэтому ТС должен чётко представлять, что ему нужно. Иначе нужно идти на codeproject/codeguru и смотреть примеры гридов и их ТЗ, там обычно всё детально описано, что контрол умеет.
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486493
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbd7iНе знаю точно, но он явно использует WinAPI, потому что внешний вид контроловМожно Spy-ем посмотреть. Обычно по типу окон сразу понятно, на чём оно написано.

Ну и кстати, я не зря просил описание по пунктам. Вот на картинке есть, например, ячейки, которые colspan/rowspan, это уже дополнительная песня в разработке. Поэтому ТС должен чётко представлять, что ему нужно. Иначе нужно идти на codeproject/codeguru и смотреть примеры гридов и их ТЗ, там обычно всё детально описано, что контрол умеет.

То, что в коде можно использовать WinAPI это 100%, я использую оттуда кучу функций. Приложение использует
базовую DLL (wcmdpa24.dll), но её можно и прилинковать. Похоже что она также служит оберткой для WinAPI.
Я уже писал, что внешний вид всех контролов полностью соответствует Windows.

Относительно "простенького" grid. Об этом уже много писали. Как ни упрощай ТЗ, всё равно получится довольно
громоздкий код. В компиляторе есть конечно стандартный grid, но я его никогда не использовал,
потому что просто без надобности. Если нужно что-то подобное и одноразовое, я, к примеру, делаю такой "финт":
создаю файл .hta (например, с табличкой) и запускаю его. Там можно редактировать кое-что и напечатать и т.п.
HTA (к счастью) пока нормально работает в Windows...
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486507
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d7iВ компиляторе есть конечно стандартный grid
в компиляторе грида нет - грид в библиотеках
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486522
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилв компиляторе грида нет
Код: plaintext
1.
T grid[n][m];


А если серьёзно, то грид - это в первую очередь организация данных, а потом уже отображение.
К любой задаче нужно подходить абстрактно и разбивать на независимые слои
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486540
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилd7iВ компиляторе есть конечно стандартный grid
в компиляторе грида нет - грид в библиотеках
Под словом "компилятор" я имел в виду всю систему RAD. Естественно, там куча библиотек и
несколько десятков контролов, WinAPI, а также ActiveX, которые можно добавлять до бесконечности...
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486597
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbИзопропилв компиляторе грида нет
Код: plaintext
1.
T grid[n][m];



А если серьёзно, то грид - это в первую очередь организация данных, а потом уже отображение.
К любой задаче нужно подходить абстрактно и разбивать на независимые слои
в контексте данного топика - именно отображение
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486944
N0B0DY123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помните раньше была суперкалка, она работала, по-моему под ms dos,
из неё потом выросла excel,
мне же хочется (для понимания) что-то для отображения и ручного редактирования небольшого числа записей и нескольких колонок
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486962
N0B0DY123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или функция TBrowse() в Clipper-е
или функция Browse() в FoxPro
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486963
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
N0B0DY123,

ничего особенного - нужно рисовать вертикальные и горизонтальные линии и текст
на месте редактируемой ячейки - создавать edit-control
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39486965
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
N0B0DY123или функция TBrowse() в Clipper-е
или функция Browse() в FoxPro
н онив текстовом режиме работали а не в графике. моделировать сегодня подобное - вряд ли осмыслено
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39487011
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот простейший набор из TextBox (12 шт. , три верхних onlyRead) ...



Простенько и со вкусом...
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39487015
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d7iнабор из TextBox
сомнительное решение.
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39487022
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я шуткую...

Для работы с БД (где колонки имеют тип полей БД), лучше всего подходит ListView.
Редактирование в ячейке там неудобно, лучше использовать отдельное окно со всеми полями.
Тем более что его можно легко оснастить кучей дополнительных функций (например, поля, имеющие
значения из другой таблицы-справочника, заменить комбобоксом и представить в нем все значения для выбора).
Иначе придется делать grid с комбобоксами...
Я всегда так делаю.
И всё это можно сделать чисто на WinAPI.

Если же данные по колонке разного типа (числа,текст и т.д.), то без grid не обойтись, как не выкручивайся...
...
Рейтинг: 0 / 0
как создать свой собственный очень простенький grid ?
    #39487025
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d7iИ всё это можно сделать чисто на WinAPI.
а что в этом удивительного?
...
Рейтинг: 0 / 0
25 сообщений из 82, страница 3 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / как создать свой собственный очень простенький grid ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]