Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
kravam
быдлокодер
1709 / 896 / 105
Регистрация: 04.06.2008
Сообщений: 5,528
#1

IDE wxDev-C++, при создании кнопки на форме она почему-то становится во весь экран, почему?

30.09.2014, 22:06. Просмотров 781. Ответов 12
Метки нет (Все метки)

То есть ребята не смешно ни разу. Создаю форму, кидаю кнопку, ничего не предвещает плохого. Собираю проект, запускаю- и вот кнопка размером ВО ВСЮ ФОРМУ

Этого не происходит, если на форму кинуть две кнопки, например. Тогда по запуску экзешника они сохраняют те же форму, что и в визуальном конструкторе

+++++++++++++++++++++++++++++++++++++

Что сделал:
1) Кинул кнопку A на форму, и переписал на бумажку свойства A (из окна "инспектор объектов"). То есть рассмотрел вариант когда кнопка во весь экран. Потом кинул на эту же форму вторую кнопку B, (то есть перешёл к варианту, когда кнопки сохраняют свой размер). И опять переписал на бумажку свойства A и сравнил их со свойствами из первого варианта.

Свойства A из обоих вариантов абсолютно идентичны!

2) То же сделал со свойствами формы. Сравнил их оба варианта- свойства формы равны друг другу!

Тем не менее, приложения функционируют по-разному, то кнопка во всю форму, то нет. В чём же дело, друзья? Спасибо, кто откликнется.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2014, 22:06
Ответы с готовыми решениями:

Почему при выводе в поток char* выводится весь массив символов?
я немогу вот в чем разобраться есть : int main() { char v = "Fdasda";...

Почему MS-DOS не любит кириллицу ? (Или почему она не любит меня ?)
Здравствуйте Почему MS-DOS не любит кириллицу ? У меня есть несколько...

Почему при создании класса у абстракных классов по иерархии пусто в _vptr ?
Вот что я имею ввиду:

От чего зависит скорость в Thread и почему она увеличивается при перемещении окна
Здравствуйте! Создаю поток в нем бесконечный цикл. Сильно отличается скорость...

Почему блок растягивает на весь экран при width:auto?
Приветствую! Ввожу для div div{width:auto;height:auto;} Получается...

12
Людвиг Бодмер
356 / 355 / 211
Регистрация: 29.03.2013
Сообщений: 866
Завершенные тесты: 4
01.10.2014, 14:08 #2
kravam, вот нашел похожую тему: http://forums.wxwidgets.org/viewtopic.php?t=39157&p=158414
Как я понял если wxFrame содержит одного потомка, то он растягивается на всю клиентскую область.
Сначала нужно создать wxPanel как потомка wxFrame, затем создать кнопку как потомка панели. К сожалению у меня нет этой среды разработки, поэтому проверить не могу.
0
kravam
быдлокодер
1709 / 896 / 105
Регистрация: 04.06.2008
Сообщений: 5,528
01.10.2014, 15:16  [ТС] #3
А вот тут написали
http://forums.wxwidgets.org/viewtopi...152114#p152114
что надо создать слоёный пирог: форма+ панель+ sizer+ кнопка и всё будет круто. Круто-то то круто, но теперь штука, называемая sizer располагает кнопку (уменьшенную до нормальных размеров, правда), как ему заблагорассудится. Выравнивает, тык скыть. То есть о том, чтобы кнопка была в том месте, куда ты её поместил изначально в визуальном конструкторе, не может быть и речи. В общем, решаю вопрос. Присоединяйтесь.
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2014, 15:37 #4
Цитата Сообщение от kravam Посмотреть сообщение
форма+ панель+ sizer+ кнопка
Без sizer никак?
0
kravam
быдлокодер
1709 / 896 / 105
Регистрация: 04.06.2008
Сообщений: 5,528
01.10.2014, 15:48  [ТС] #5
Без sizer эффект тот, что
1) панель растягивается до размеров формы (даже если в визуальном конструкторе она была меньше формы. Ну это ладно)
2) Кнопка, кинутая на панель (например, в центр панели) при выполнении экзешника помещается в левый верхний угол панели. Если будет две кнопки, значит одна над другой поместятся.

sizer-то, похоже их выравнивает, ставит то есть рядом, а не одну над другой. И происходит это уже на стадии визуального конструирования. Это хорошо, но не всегда. Например сейчас мне нужно чтобы они были там, куда я их помещу. (Пока экспериментирую с одной кнопкой.)
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2014, 16:35 #6
Цитата Сообщение от kravam Посмотреть сообщение
2) Кнопка, кинутая на панель (например, в центр панели) при выполнении экзешника помещается в левый верхний угол панели.
Не знаю, как ты делаешь. Куда поставил, туда и помещается.
0
Миниатюры
IDE wxDev-C++, при создании кнопки на форме она почему-то становится во весь экран, почему?  
kravam
быдлокодер
1709 / 896 / 105
Регистрация: 04.06.2008
Сообщений: 5,528
01.10.2014, 16:54  [ТС] #7
Ну чё, весь-то проект дашь, или ждёшь, пока я попрошу?
0
Людвиг Бодмер
356 / 355 / 211
Регистрация: 29.03.2013
Сообщений: 866
Завершенные тесты: 4
01.10.2014, 17:02 #8
Лучший ответ Сообщение было отмечено kravam как решение

Решение

kravam, нашел еще, что это баг может быть. Чтобы пофиксить, надо зайти в Tools->Designer Options->Code Generation Options и снять галочки с "Use Default Position" и "Use Default Size"
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2014, 17:37 #9
Цитата Сообщение от kravam Посмотреть сообщение
Ну чё, весь-то проект дашь, или ждёшь, пока я попрошу?
Какой, нафиг, проект? Я эту библиотеку вообще не знаю (использую Qt). Установил эту среду от нечего делать, посмотреть, что за хрень, настройки по умолчанию. Проект WxWidgets Frame.
0
kravam
быдлокодер
1709 / 896 / 105
Регистрация: 04.06.2008
Сообщений: 5,528
01.10.2014, 17:40  [ТС] #10
Цитата Сообщение от Людвиг Бодмер Посмотреть сообщение
kravam, нашел еще, что это баг может быть
Похоже на то. Похоже, необходимо делать так: форма+панель+кнопка+указанные настройки. Быть может, они устанавливаются по умолчанию, а вчера я ДО ТОГО как задействовал панель, лазил туда, и все их посбивал (поустанавливал галки). Естессно, ничё не дало (без панели-то), а настройки не восстановились (галки остались).

sizer вещь полезная ДЛЯ ВЫРАВНИВАНИЯ. В главе 7 "Cross-Platform GUI Programming with wxWidgets" об этом сказано, тут перевод этой главы.

Пока остановимся на этом.
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2014, 17:44 #11
Цитата Сообщение от Людвиг Бодмер Посмотреть сообщение
надо зайти в Tools->Designer Options->Code Generation Options и снять галочки с "Use Default Position" и "Use Default Size"
Только после этого всё поудалять из формы, и поновой сделать.
0
kravam
быдлокодер
1709 / 896 / 105
Регистрация: 04.06.2008
Сообщений: 5,528
01.10.2014, 18:08  [ТС] #12
Продолжаю выводы. Если делать связку форма+кнопка, то по умолчанию "Use Default Position" и "Use Default Size" активны. Впрочем, активны они или нет, результат один и тот же- кнопка во весь размер формы. То есть без панели не обойтись.

Для полноты картины приведу конструкторов, когда настройки активированы:
C++
1
2
3
    WxPanel1 = new wxPanel(this, ID_WXPANEL1, wxDefaultPosition, wxDefaultSize);
 
    WxButton1 = new wxButton(WxPanel1, ID_WXBUTTON1, _("WxButton1"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _("WxButton1"));
и неактивированы:
C++
1
2
3
    WxPanel1 = new wxPanel(this, ID_WXPANEL1, wxPoint(0, -8), wxSize(311, 313));
 
    WxButton1 = new wxButton(WxPanel1, ID_WXBUTTON1, _("WxButton1"), wxPoint(140, 208), wxSize(75, 25), 0, wxDefaultValidator, _("WxButton1"));
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2014, 18:22 #13
Подсказки, в wxDev-C++, по этой библиотеке работают?
0
01.10.2014, 18:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2014, 18:22

Почему при создании игры Lode Runner потребовалось 19 000 текстур? почему так много?
Почему при создании игры Lode Runner потребовалось 19 000 текстур? почему так...

VB6 Почему при быстром создании скроншотов с экран курсор мигает ?
keybd_event VK_SNAPSHOT, 1, 0, 0 Как можно исправить это ? Не изменяя...

Почему не увеличивается лайаут на весь экран?
Скомпоновал два элемента столбцами, но при увеличении окна оно ну увеличивается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru