|
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
|
|
ComboBox в StringGrid21.11.2013, 08:20. Показов 12615. Ответов 31
Метки нет (Все метки)
Здравствуйте, не нашел способа как в СтрингГрид засунуть компонент КомбоБокс
В Делфи я это уже делал теперь нужно на С++ Builder кто поможет кто подскажет как это делаеться как? Пишу програмум Нужно создать матрицу для этого взял стрингГрид + есть ComboBox в котором просто циферки выбираем цифру напремер "5" матрица 5 на 5, если "10" то матрица 10 на 10 по главной диагонали нужны все еденицы это я уже сделал... дальше надо чтобы все остальные ячейки СтрингГрида кроме главной диагонали можно было редактировать и вот для удобства хотелось бы чтобы там были все ячейки ComboBox заполненые цифрами от 1 до 9.
0
|
|
| 21.11.2013, 08:20 | |
|
Ответы с готовыми решениями:
31
ComboBox и StringGrid
|
|
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
|
|
| 21.11.2013, 09:15 | |
|
Вынеси на форму ComboBox, занеси в него все числа которые тебе надо(это можно сделать в свойствах).
А размерность StringGrid (StringGrid->RowCount; StringGrid->CollCount) делай по выбранному числу из комбобокса. С запретом редактирования значений по диагонали...возможно придется при выделении диагональных ячеек, запрещать редактирование грида, или как вариант просто этим ячейкам при любых изменениях присваивать 1.
0
|
|
|
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
|
|
| 22.11.2013, 06:38 [ТС] | |
|
Простите наверное я не правильно написал. С размерами StringGrid'a я уже давно разобрался мне теперь нужно сделать чтобы все ячейки в нутри StringGrid'a были как ComboBox тоесть нажал на ячейку выпало меню с цифрами от 1 до 9.
P.S. Про запрет редактирования спасибо не подумал об этом варианте.
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 22.11.2013, 13:20 | |
|
StalkerIQ, может вот это вас на мысль натолкнет: ComboBox раскрывающийся наверх
0
|
|
|
Супер-модератор
|
|||
| 22.11.2013, 13:43 | |||
|
0
|
|||
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 22.11.2013, 17:06 | |
|
0
|
|
|
Супер-модератор
|
||||||
| 22.11.2013, 17:37 | ||||||
|
Да там кода-то:
6
|
||||||
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 22.11.2013, 17:50 | |
|
UI, кода-то... да... только я совсем не дружу с ООП Delphi.
Догнать что-то не получается как применить этот класс..
0
|
|
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 22.11.2013, 17:54 | |
|
UI, именно перед объявлением формы и добавил - не сработало.
Может глючить из-за 6.0?
0
|
|
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 22.11.2013, 18:01 | |
|
UI, о! goEditing был выключен.
Спасибо.
0
|
|
|
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
|
|
| 25.11.2013, 07:30 [ТС] | |
|
Kulgar
У вас что получилось? Так как у меня за час попыток переделать этот код выводит ошибки. [C++ Error] Unit1.cpp(67): E2015 Ambiguity between 'TEditStyle' and 'Grids::TEditStyle' [C++ Error] Unit1.cpp(68): E2052 Dynamic function '_fastcall TStringGrid::GetEditStyle(int,int)' conflicts with base class 'TCustomGrid' [C++ Warning] Unit1.cpp(69): W8006 Initializing TEditStyle with Grids::TEditStyle Пока пробую но не знаю как сделать.
0
|
|
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|||||||
| 25.11.2013, 09:25 | |||||||
|
StalkerIQ, описание класса нужно разместить в *.h файле:
0
|
|||||||
|
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
|
||||||
| 25.11.2013, 10:04 [ТС] | ||||||
|
А в "Cpp" надо что-нибудь?
Добавлено через 2 минуты
У меня всё теже 3 ошибки (
0
|
||||||
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|||
| 25.11.2013, 10:06 | |||
|
Ошибки те же?
0
|
|||
|
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
|
||||||||||||||||
| 25.11.2013, 10:18 [ТС] | ||||||||||||||||
48 строка [C++ Error] Unit1.h(48): E2015 Ambiguity between 'TEditStyle' and 'Grids::TEditStyle' 49 строка [C++ Error] Unit1.h(49): E2052 Dynamic function '_fastcall TStringGrid::GetEditStyle(int,int)' conflicts with base class 'TCustomGrid' 50 строка [C++ Warning] Unit1.h(50): W8006 Initializing TEditStyle with Grids::TEditStyle Добавлено через 4 минуты Незнаю зачем, но если изменить
[C++ Error] Unit1.h(48): E2015 Ambiguity between 'TEditStyle' and 'Grids::TEditStyle' Добавлено через 1 минуту Я конечно профан, но в enum TEditStyle { esInplace, esPopup }; нету ни каких esPickList... может поэтому ругается?
0
|
||||||||||||||||
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|||
| 25.11.2013, 10:35 | |||
|
Оптимальный выход, если не слишком сложное меню, пересобрать проект. Тем более, что у Вас дважды подключается Grids.hpp. HELP TEditStyle type
VCL Reference
TEditStyle type Indicates whether a cell in a grid contains a drop-down arrow or ellipsis button. Unit Grids enum TEditStyle { esSimple, esEllipsis, esPickList }; Description TEditStyle describes the buttons, if any, that can appear in the cell of a grid. It can be any of the following values: Value Meaning esSimple The cell acts as a simple edit control where users can type a new value. esEllipsis The cell contains an ellipsis button that users can click to launch a dialog. esPickList The cell contains a drop-down arrow button that users can click to display a pick list of possible values.
1
|
|||
|
Супер-модератор
|
|||||||||||
| 25.11.2013, 10:36 | |||||||||||
1
|
|||||||||||
|
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
|
|
| 25.11.2013, 11:22 [ТС] | |
|
Добовление Grids в DYNAMIC TEditStyle помогло спасибо вам Kulgar и UI.
Теперь выпадающие меню есть. Осталась 2 самые главные часть программы =) помогите закончить. С начала, что есть по пунктам. 1.Пользовать выберает размер массива допустим 5. 2.Програма растягивает StringGrid на 5 клеточек по столбцам и строкам + диагональ заполняет еденицами(1) и не даёт редактировать эту диагональ. 3.Пользователь должен в ячейках выбрать цифры от 1 до 9 !тут помогите! так как после выбора цифры на противоположной стороне от диагонали (зеркально) афтоматически должна появитсья цифра равная (1/"выбраная цифра") Пример: 1 6 0,33 0 0 вторая цифра первой строки равна 6 значит первая цифра второй строки равна 1/6=0.17 0.17 1 0 0 0 3 0 1 0 0 перва цифра третей строки равна 3 значит третяя цифра первой строки равна 1/3=0.33 0 0 0 1 0.2 0 0 0 5 1 четвёртая цифра пятой строки равна 5 значит пятая цифра четвёртой строки равна 1/5=0.2 Надеюсь понятно обьяснил чего хочу =)))
0
|
|
| 25.11.2013, 11:22 | |
|
Помогаю со студенческими работами здесь
20
Работа с ComBobox в StringGrid StringGrid +check + Combobox
Передача значения из ComboBox в StringGrid
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|