Как увидеть не умещающиеся элементы в wxAuiToolBar

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
User avatar
cutecode
Earned some good credits
Earned some good credits
Posts: 110
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Как увидеть не умещающиеся элементы в wxAuiToolBar

Postby cutecode » Sat Apr 22, 2017 9:50 am

Какой параметр в wxAuiToolBar отвечает за добавление в список невидимых элементов?
В примере для AUI.
Если я изменяю размер окна, то невидимые элементы для tb4 попадают в список, а для tb3 такого свойства нет

Code: Select all

    wxAuiToolBar* tb3 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
                                         wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
    tb3->SetToolBitmapSize(wxSize(16,16));
    wxBitmap tb3_bmp1 = wxArtProvider::GetBitmap(wxART_FOLDER, wxART_OTHER, wxSize(16,16));
    tb3->AddTool(ID_SampleItem+16, wxT("Check 1"), tb3_bmp1, wxT("Check 1"), wxITEM_CHECK);
    tb3->AddTool(ID_SampleItem+17, wxT("Check 2"), tb3_bmp1, wxT("Check 2"), wxITEM_CHECK);
    tb3->AddTool(ID_SampleItem+18, wxT("Check 3"), tb3_bmp1, wxT("Check 3"), wxITEM_CHECK);
    tb3->AddTool(ID_SampleItem+19, wxT("Check 4"), tb3_bmp1, wxT("Check 4"), wxITEM_CHECK);
    tb3->AddSeparator();
    tb3->AddTool(ID_SampleItem+20, wxT("Radio 1"), tb3_bmp1, wxT("Radio 1"), wxITEM_RADIO);
    tb3->AddTool(ID_SampleItem+21, wxT("Radio 2"), tb3_bmp1, wxT("Radio 2"), wxITEM_RADIO);
    tb3->AddTool(ID_SampleItem+22, wxT("Radio 3"), tb3_bmp1, wxT("Radio 3"), wxITEM_RADIO);
    tb3->AddSeparator();
    tb3->AddTool(ID_SampleItem+23, wxT("Radio 1 (Group 2)"), tb3_bmp1, wxT("Radio 1 (Group 2)"), wxITEM_RADIO);
    tb3->AddTool(ID_SampleItem+24, wxT("Radio 2 (Group 2)"), tb3_bmp1, wxT("Radio 2 (Group 2)"), wxITEM_RADIO);
    tb3->AddTool(ID_SampleItem+25, wxT("Radio 3 (Group 2)"), tb3_bmp1, wxT("Radio 3 (Group 2)"), wxITEM_RADIO);
    tb3->SetCustomOverflowItems(prepend_items, append_items);
    tb3->Realize();


    wxAuiToolBar* tb4 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
                                         wxAUI_TB_DEFAULT_STYLE |
                                         wxAUI_TB_OVERFLOW |
                                         wxAUI_TB_TEXT |
                                         wxAUI_TB_HORZ_TEXT);
    tb4->SetToolBitmapSize(wxSize(16,16));
    wxBitmap tb4_bmp1 = wxArtProvider::GetBitmap(wxART_NORMAL_FILE, wxART_OTHER, wxSize(16,16));
    tb4->AddTool(ID_DropDownToolbarItem, wxT("Item 1"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+23, wxT("Item 2"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+24, wxT("Item 3"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+25, wxT("Item 4"), tb4_bmp1);
    tb4->AddSeparator();
    tb4->AddTool(ID_SampleItem+26, wxT("Item 5"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+27, wxT("Item 6"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+28, wxT("Item 7"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+29, wxT("Item 8"), tb4_bmp1);
    tb4->SetToolDropDown(ID_DropDownToolbarItem, true);
    tb4->SetCustomOverflowItems(prepend_items, append_items);
    wxChoice* choice = new wxChoice(tb4, ID_SampleItem+35);
    choice->AppendString(wxT("One choice"));
    choice->AppendString(wxT("Another choice"));
    tb4->AddControl(choice);
    tb4->Realize();

Attachments
Безымянный2.png
Безымянный2.png (8.37 KiB) Viewed 808 times
Безымянный.png
Безымянный.png (17.46 KiB) Viewed 808 times
regards,
Alexander Saprykin

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2046
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Postby ONEEYEMAN » Mon Apr 24, 2017 2:15 pm

Dobrogo vremeni sutok,
Proverjali wxAUI_TB_GRIPPER? wxAUI_TB_OVERFLOW?

User avatar
cutecode
Earned some good credits
Earned some good credits
Posts: 110
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Postby cutecode » Mon Apr 24, 2017 4:59 pm

1. судя по скрину GRIPPER есть у обоих
2. судя по коду wxAUI_TB_OVERFLOW тоже стоит у обоих

так что это не выход
regards,
Alexander Saprykin

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2046
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Postby ONEEYEMAN » Mon Apr 24, 2017 6:17 pm

A v chem otlichie v primerah?
A esche poprobujte vyzvat SetCustomOverflowItems() a posle nego dobavit tools/controls v toolbar.
Last edited by ONEEYEMAN on Mon Apr 24, 2017 6:31 pm, edited 1 time in total.

User avatar
cutecode
Earned some good credits
Earned some good credits
Posts: 110
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Postby cutecode » Mon Apr 24, 2017 6:28 pm

Бррррр....

я сам не пойму, почему один toolbar показывает не видимые, а другой не показывает
regards,
Alexander Saprykin

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2046
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Postby ONEEYEMAN » Mon Apr 24, 2017 6:33 pm

Po moemu nugno vyzvat SetCustomOverflowItems() a potom dobavit esche tools/controls v toolbar.
Kagetsja eto edinstvennoe otlichie - vo vtorom sluchae posle vyzova etoj funkcii dobavljaetsja kontrol.

User avatar
cutecode
Earned some good credits
Earned some good credits
Posts: 110
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Postby cutecode » Mon Apr 24, 2017 6:47 pm

Не помогло

Code: Select all

    tb3->SetCustomOverflowItems(prepend_items, append_items);
   wxChoice* choice = new wxChoice(tb3, ID_SampleItem + 35);
   choice->AppendString(wxT("One choice"));
   choice->AppendString(wxT("Another choice"));
   tb3->AddControl(choice);
   tb3->Realize();
regards,
Alexander Saprykin

User avatar
cutecode
Earned some good credits
Earned some good credits
Posts: 110
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Postby cutecode » Mon Apr 24, 2017 7:06 pm

походу, он добавляет только wxITEM_NORMAL
другие он игнорирует
regards,
Alexander Saprykin

User avatar
cutecode
Earned some good credits
Earned some good credits
Posts: 110
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Postby cutecode » Wed May 10, 2017 1:23 pm

хотелось бы узнать это "глюка"? или так задумано?

Если пишу wxITEM_NORMAL то отображает невидимые
Если пишу wxITEM_CHECK или wxITEM_RADIO, то они в список невидимых не попадают
regards,
Alexander Saprykin

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2046
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Postby ONEEYEMAN » Wed May 10, 2017 1:46 pm

Skoree vsego bag.
Vot tolko fixit ego nekomu - avtory wxAUI otoshli ot etogo i neizvestno kogda vernutsja i vernutsja li.

Naibolee verojaten ishod - esli nugno chtoby rabotalo - fiksit samomu. ;-)

I samoe obidnoe chto svjazi s nimi nikakoj. A poddergivat biblioteku nugno. Tam ved dage documentacii iznachalno nebylo nilakoj.


Return to “wxWidgets Development (Russian)”

Who is online

Users browsing this forum: No registered users and 1 guest