Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Аналог StringGrid для VS С++ 2008.

Автор: Krjuger 9.02.2011 4:25

В общем то суть заключается в том что нужно сделать в форме таблицу с помощью VS с++.Тут возникла такая проблема.Я знаю,что в Борланде есть StringGrid,вроде как существует его аналог FlexGrid,но найти его в VS c++2008 у меня не получилось.Вроде как он и не является родной библиотекой.Существуют ли какие либо другие аналоги,или что нужно сделать,чтобы использовать StringGrid или FlexGrid.Я лазил по инету и люди говорили,что как то это можно сделать,но более менее доступной инструкции как это сделать я не нашел.

Автор: volvo 9.02.2011 5:38

Это обычный ActiveX-контрол.

http://www.codeguru.com/cpp/controls/controls/gridcontrol/article.php/c5225

Автор: Krjuger 9.02.2011 17:45

Дето в том,что первоначально(я забыл об этом указать)я использовал MFC application.Но там я не нашел ничего из перечисленного,поэтому щас я решил октазаться от этой идеи и использовать Windows Form Application,там вроде инструментарий Toolbox'a пообширнее.Если будут возникать вопросы я суда тогда буду писать.

Автор: Krjuger 9.02.2011 18:59

Чето я совсем уже запутался,по той иструкции,на которую ты мне ссылку давал,у меня в VS совсем по другому.
In the VC++ IDE Menu, go to Project->Add .Это совпадает,дальше у меня 2 варианта либо Class либо Resourses,выбираю класс,открывается окошно.
http://www.fotolinker.ru/show-image.php?id=88ff71b6f68b2c7750b988d8900a3efb
Выбираю,то на что наведено.Дальше открывается окошно где я по сути должен выбрать Microsoft Hierarchical FlexGrid Control,но в списке его нету.Зато есть какой то VideoSoft FlexArray Control 1.0
http://www.fotolinker.ru/show-image.php?id=41fd43cd3b7e780aa555ad7302a57bcc
Я вот не знаю,либо я что то не то делаю,не там чето выбираю,но с инструкцией, которая перекопирована на десятках сайтов,ничего не выходит.Да и самого Microsoft Hierarchical FlexGrid Control нету,возможно его надо откуда то скачать,но тогда вопрос.поэтому он не входит в 2008 верии в библиотеку.

Автор: volvo 12.02.2011 18:14

Цитата
Да и самого Microsoft Hierarchical FlexGrid Control нету,возможно его надо откуда то скачать
MSFlexGrid присутствует на машине только в случае, если там установлен VB, а не только VC++. Если Visual Basic не установлен - его контролов нет, следовательно, нет и FlexGrid-а (равно как и любого другого компонента, который предлагается взамен. Вот так MS и привязывает людей к Студии. Куда ты денешься - нужен функционал - установишь и VB, а если программа на продажу - так еще и купишь).

Автор: Krjuger 12.02.2011 20:02

Вот блин ...... нехорошие люди.Порочный круг получается.Придется DataGrid использовать.Кстати ,volvo ,если у меня будут вопросы по datagrid'y ,то ты поможеш?А то я знаю,что с Mfс ты дела иметь не хочеш.

Автор: Krjuger 13.02.2011 3:15

В работе есть небольшие сдвиги.За основу я взял код с сайта Codeproject,убрал весь не инетерсующий меня функционал,но столкнулся с такой проблемой.В графе edit будет вводиться число ,показывающее какое количество строк и столбцов должно быть в таблице(пока что его нету),по нажатии кнопки buttonInsert должна произойти отрисовка грида с количеством строк и столбцов.Но тут происходит такая проблема.Когда происходить отрисовка то координаты считаются относительно кнопки,а не относительно окна,а когда происходит изменение размеров окна,то включается ресайз,но он уже происходит относительно уже окна,поэтому весь грид немного сьезжает.Можно ли как то сделать чтобы координаты сразу указывались относительно окна.И еще когда изменяется размер окна,то кнопки остаются статичными,можно сделать так чтобы они так же двигались как и грид.
Так как кода много выкладываю отдельными файлами.

Еще интересует такой момент.Чтобы при запуске уже сразу существовал грид размерами например 5 на 5,после того, как вводится число происходит, перерисовка.Проблема заключается в том,что тем функционалом,который заложен в исходнике DataGrid.cpp удалить грид нельзя,там есть только удаление всех элементов.Можно ли это сделать как то другими средствами?
Надеюсь получить ответы на эти вопросы. smile.gif


Прикрепленные файлы
Прикрепленный файл  DataGrid_Test.cpp ( 8.26 килобайт ) Кол-во скачиваний: 443
Прикрепленный файл  DataGrid.cpp ( 76.57 килобайт ) Кол-во скачиваний: 439

Автор: volvo 13.02.2011 3:24

Цитата
А то я знаю,что с Mfс ты дела иметь не хочеш.
Я тебе больше скажу: в последнее время я и с Windows дела иметь не хочу - мы практически полностью перешли на Debian, Windows остался только на одном компьютере из каждых 6-ти...

Автор: Krjuger 13.02.2011 18:33

То есть помощи лучше не ожидать?

Автор: volvo 13.02.2011 19:03

От меня - вряд ли... Я с MFC почти не работал, по памяти вряд ли такое можно сделать, а искать и устанавливать VS для того, чтоб проверить, что не так в программе я не буду... Было бы что касаемо крссплатформенных библиотек, или хотя бы чистого WinAPI - можно было попробовать...