Не смог найти ответ на итересующий меня вопрос, поэтому спрашиваю здесь.
Возможно ли используя только одни сайзеры получить что-то проде control wrap'а?
Было:
Стало:
Сайзеры и их возможности Topic is solved
Re: Сайзеры и их возможности
Есть wxWrapSizer начиная с wxWidgets 2.9.0
О, супер, а он умеет wxStaticText заворачивать ?
Best regards, Nikolay
wxWidgets in russian
Small Notes Manager and Clipboard Manager with History written with wxWidgets
wxWidgets in russian
Small Notes Manager and Clipboard Manager with History written with wxWidgets
wxStaticText::Wrap это не совсем то..., хочется динамический метод.
А про это хотелось бы подробнее, это недавно появилось или я что-то не так делал раньше? но мне такого эффекта достигнуть не удавалось.wxStaticText сам заворачивает тест, только надо поставить пропорцию в сайзере
Best regards, Nikolay
wxWidgets in russian
Small Notes Manager and Clipboard Manager with History written with wxWidgets
wxWidgets in russian
Small Notes Manager and Clipboard Manager with History written with wxWidgets
Вот заплатка где это показано. Ее надо применить к минимальному примеру.Nikolay wrote:но мне такого эффекта достигнуть не удавалось.
Code: Select all
--- minimal.cpp.bak 2009-03-06 14:11:06.000000000 +0200
+++ minimal.cpp 2009-07-21 17:49:51.218750000 +0300
@@ -185,6 +185,12 @@
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
+wxDialog *dlg = new wxDialog(this, wxID_ANY, wxString(_T("Test")), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
+dlg->SetSizer(new wxBoxSizer(wxVERTICAL));
+dlg->GetSizer()->Add(new wxStaticText(dlg, wxID_ANY, _T("test test test test test test test test test test test test test test test test test test test test test test test test test test test test test")), wxSizerFlags(1).Expand().Border());
+dlg->ShowModal();
+return ;
+
wxMessageBox(wxString::Format(
_T("Welcome to %s!\n")
_T("\n")
Re: Сайзеры и их возможности
Скачал с FTP wxWidgets-2.9.0-rc6 для MSW. Запустил семплы (с wxWrapSizer'ом там их два). Попробывал, порастягивал окошко туда сюда. Все свиду нормально. Изменил число эелентов, вот тут и увидел, как все "замечатльно". Впечатление такое, будто сайзер не доделал (возможно потому, что пока еще не финальная версия).Kolya wrote:Есть wxWrapSizer начиная с wxWidgets 2.9.0
При первом появлении окна, некоторые контролы могут налазить друг на друга:
При быстром ссужении, контролы не успевают перерисоваться. Также не всегда привильно срабатывает wrap:
Kolya, за совет конечно спасибо. Но в нынешнем состоянии дел, wxWrapSizer мне не подходит. Сейчас пытаюсь сделать что-то свое, но столкнулся с проблеммой: при создании, сайзер не получает размеры, которые ему могут быть отведены владельцем (оно конечно понятно, ведь ситуации бывают разные). В результате не зная ширины, нет возможности узнать количество строк, а значит посчитать высоту сайзера. Если есть соображения на счет этого, буду рад всем советам.
Kolya wrote: Вот заплатка где это показано. Ее надо применить к минимальному примеру.
Спасибо, работает. Буду знать, интересно почему это у меня не получалось.
Best regards, Nikolay
wxWidgets in russian
Small Notes Manager and Clipboard Manager with History written with wxWidgets
wxWidgets in russian
Small Notes Manager and Clipboard Manager with History written with wxWidgets
Re: Сайзеры и их возможности
Похоже, что вопро решен. Всем спасибо, тема закрыта.