Моя первая программа wxFormBuilder Topic is solved
Моя первая программа wxFormBuilder
Запускаю wxFormBuilder, выполняю действия которые описаны на этой странице: http://wiki.wxformbuilder.org/Tutorials ... ormBuilder
И у меня возник первый мой вопрос:
Layout - это что? Это только для создания дизайна или это как то связано с программной частью?
У меня первый мой проект имеет (как я думаю) сложную структуру (см картинку прикрепленного файла). Если Layout нужен только для дизайна, то как мне увидеть увидеть эти ячейки и как мне добавить в одну ячейку другой layout?
И у меня возник первый мой вопрос:
Layout - это что? Это только для создания дизайна или это как то связано с программной частью?
У меня первый мой проект имеет (как я думаю) сложную структуру (см картинку прикрепленного файла). Если Layout нужен только для дизайна, то как мне увидеть увидеть эти ячейки и как мне добавить в одну ячейку другой layout?
-
- Earned some good credits
- Posts: 111
- Joined: Wed Jul 30, 2008 8:01 am
- Location: Russia/MO
- Contact:
Layout это, я так понял, система классов для верстки, размещение элементов в окне.
Добавлять: выделяешь в дереве элементов лайот и жмешь добавить новый.
Что касается просмотра не понял в редакторе вроде и так все подсвечивается
Добавлять: выделяешь в дереве элементов лайот и жмешь добавить новый.
Что касается просмотра не понял в редакторе вроде и так все подсвечивается
win xp sp2; CodeBlocks/mingw/wxWidgets 2.8.9/wxFormBuilder
web-программирование:PHP,js/Ajax
web-программирование:PHP,js/Ajax
Это влияет на программный код программы? Например я могу поставить 1 лайоут или 25 лайоутов. Если они не влияют на программный код, то ничего страшного, а если влияют (например передают события), то нужно будет передавать события через указателя из одного лайоута в другой.SmileGobo wrote:Layout это, я так понял, система классов для верстки, размещение элементов в окне.
В общем я не понимаю что это такое и для чего это нужно. Сложно все так ... когда уровень знаний равен нулю.
-
- Earned some good credits
- Posts: 111
- Joined: Wed Jul 30, 2008 8:01 am
- Location: Russia/MO
- Contact:
ну если не правильно сверстать, вероятно, повлияет на производительность или все поедет, с событиями вроде никогда лайоты не связывал. Так как в ГУИ пришел из веб, там верстать подобным образом обычное дело быстро освоился, хотя глубоко не копал. Использую лайоты для табличной верстки. Собственно в документации сказано именно для этого они и предназначены.
win xp sp2; CodeBlocks/mingw/wxWidgets 2.8.9/wxFormBuilder
web-программирование:PHP,js/Ajax
web-программирование:PHP,js/Ajax
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Не влияют.midisa wrote:
Это влияет на программный код программы? Например я могу поставить 1 лайоут или 25 лайоутов. Если они не влияют на программный код, то ничего страшного, а если влияют (например передают события), то нужно будет передавать события через указателя из одного лайоута в другой.
В общем я не понимаю что это такое и для чего это нужно. Сложно все так ... когда уровень знаний равен нулю.
Смысл сайзеров в том, что бы при изменении размеров окна, контролы не поехали.....
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Помогите разобраться с сайзерами. Мне нужно сделать внешний вид как на картинке. Ставлю сначала горизонтальный сайзер, в него вставляю грид (сайзер), устанавливаю количество полей и строк. Вставляю элементы. Получается вертикальный отступ огромный, пытаюсь всячески урегулировать вертикальный отступ, не получается. Вставляю в грид снова горизонтальный сайзер. В горизонтальном элементы устанавливаются нормально, но то что ниже грида, совершенно не может быть установлено. Расстояние между верхними элементами и нижними огромное. Не получается урегулировать элементы управления. Может есть хитрость какая то? Или наверное я что то не правильно делаю ... Помогите разобраться. Заранее спасибо.Mojo wrote:Не влияют.midisa wrote:
Это влияет на программный код программы? Например я могу поставить 1 лайоут или 25 лайоутов. Если они не влияют на программный код, то ничего страшного, а если влияют (например передают события), то нужно будет передавать события через указателя из одного лайоута в другой.
В общем я не понимаю что это такое и для чего это нужно. Сложно все так ... когда уровень знаний равен нулю.
Смысл сайзеров в том, что бы при изменении размеров окна, контролы не поехали.....
Не получается. посмотрите мой файл. Подскажите как правильно сделать?borr_1 wrote:Можно вставлять сколько угодно обычных BoxSizer'ов в каждом из которых будет попарно лежать нужные тебе элементы управления - скажем StaticText + TextCtrl
- Attachments
-
- pass.fbp.tar.gz
- (3.43 KiB) Downloaded 242 times
Вроде бы сделал как смог. Посмотрите пожалуйста.... может можно сделать как то лучше или аккуратнее?borr_1 wrote:Там вроде все впорядке только добавь wxGrid'у флаг wxEXPAND поставь bSizer10 proportion = 1, а m_panel2 proportion=0 и смотри что выйдет.
Пользуясь случаем есть дальнейшие вопросы:
1. В моей старой программе, на кнопках есть картинки. Как сдесь картинку к кнопке прикрутить?
2. Как работать с таким гридом? Его командами нужно наполнять или у него есть свой рекордсет? Я спрашиваю потому, что мне нужно будет делать динамические данные. Вдруг у меня будет в базе 1.5 млн записей ... нужно чтобы он открывал по 300 строк, в зависимости от горизонтальной прокрутки. Может кто то уже это написал?
3. Я хочу работать с базой данных созданной в опен офисе. Какой механизм я должен использовать для работы с этой базой? В будущем я буду работать только с двумя типами баз: 1. Опен офис орг, 2. PostgreSQL server. Может есть механизм, который позволит идентично работать (строка соединения) с обеими типами баз (кроме синтаксиса, синтаксис я буду использовать в каждом отдельном случае свой).
Буду очень признателен за помощь по любому из пунктов.
- Attachments
-
- pass.fbp.tar.gz
- (4.46 KiB) Downloaded 269 times
-
- Super wx Problem Solver
- Posts: 362
- Joined: Wed Mar 07, 2007 8:10 am
- Location: Russia, Shakhty
смотри wxBitmapButtonmidisa wrote: 1. В моей старой программе, на кнопках есть картинки. Как сдесь картинку к кнопке прикрутить?
Билерского аналога DataSet тут нет. Заливать по 300 строк от прокрутки не всегда удобно. Проще сделать загрузку в фоне в отдельном потоке. Или просто фильтр.midisa wrote: 2. Как работать с таким гридом? Его командами нужно наполнять или у него есть свой рекордсет? Я спрашиваю потому, что мне нужно будет делать динамические данные. Вдруг у меня будет в базе 1.5 млн записей ... нужно чтобы он открывал по 300 строк, в зависимости от горизонтальной прокрутки. Может кто то уже это написал?
Попробуй ODBC (databaselaer)midisa wrote: 3. Я хочу работать с базой данных созданной в опен офисе. Какой механизм я должен использовать для работы с этой базой? В будущем я буду работать только с двумя типами баз: 1. Опен офис орг, 2. PostgreSQL server. Может есть механизм, который позволит идентично работать (строка соединения) с обеими типами баз (кроме синтаксиса, синтаксис я буду использовать в каждом отдельном случае свой).
а сразу firebird embeded и server для этого нельзя взять?[/quote]1. Опен офис орг, 2. PostgreSQL server.
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
[/quote]borr_1 wrote: Попробуй ODBC (databaselaer)а сразу firebird embeded и server для этого нельзя взять?1. Опен офис орг, 2. PostgreSQL server.
ODBC (databaselaer) - этот механизм есть в рамках wx...? Можно ссылку на простой пример?
Я ранее пырхался найти пример odbc, но не смог найти.
P.S. Я буду использовать только два вида баз данных, для локальных подключений Open Office org, Для серверных PostgreSQL. Остальное не интересует.
-
- Super wx Problem Solver
- Posts: 362
- Joined: Wed Mar 07, 2007 8:10 am
- Location: Russia, Shakhty
http://sourceforge.net/projects/wxcode/ ... baselayer/
обрати внимание там есть файлы со словом documentation в названии. это отдельный компонент нужно будет его скомпилить смотри тут по форуму в поиске очень часто обсужался.
обрати внимание там есть файлы со словом documentation в названии. это отдельный компонент нужно будет его скомпилить смотри тут по форуму в поиске очень часто обсужался.
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
За документацию спасибо. В документации есть пример sample.html ... за такие примеры руки нужно отрывать ... Это не пример а программа. Вместо трех строк кода они выдернули кусок программы (примерно 1000 строк если не больше). Это так крик души т.к. чаще всего такие примеры не работают...borr_1 wrote:http://sourceforge.net/projects/wxcode/ ... baselayer/
обрати внимание там есть файлы со словом documentation в названии. это отдельный компонент нужно будет его скомпилить смотри тут по форуму в поиске очень часто обсужался.
В любом случае спасибо за информацию. Два дня уйдет на то, чтобы разобрать эту кучу кода...
-
- Super wx Problem Solver
- Posts: 362
- Joined: Wed Mar 07, 2007 8:10 am
- Location: Russia, Shakhty
Павлины, говоришь... ХЭХ! (ЦЭ)
Code: Select all
OdbcDatabaseLayer *pDatabase = new OdbcDatabaseLayer();
pDatabase->Open(wxT("DRIVER=Microsoft Access Driver (*.mdb);"
"UID=admin;"
"UserCommitSync=Yes;"
"Threads=3;"
"SafeTransactions=0;"
"PageTimeout=5;"
"MaxScanRows=8;"
"MaxBufferSize=2048;"
"FIL=MS Access;"
"DriverId=25;"
"DefaultDir=C:\\Program Files\\Client\\DB;"
"DBQ=C:\\Program Files\\Client\\DB\\clientdb.mdb"));
DatabaseResultSet* pResults = pDatabase->RunQueryWithResults(_("SELECT * FROM Balance"));
if (pResults)
{
int i=0;
while (pResults->Next())
{
itemGrid3->SetCellValue(i,0,pResults->GetResultString(_("DocumentPartName")));
itemGrid3->AppendRows(1, true);
i++;
}
pDatabase->CloseResultSet(pResults);
}
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse