Не могу создать Tool Bar
От: Valen  
Дата: 30.04.12 11:41
Оценка:
Здравствуйте.

Есть SDI-приложение, фрейм определен так:


class CMainFrame :
  public CFrameWindowImpl<CMainFrame>,    
  public CMessageFilter, 
  public CIdleHandler, 
  public CUpdateUI<CMainFrame>
{
  DECLARE_FRAME_WND_CLASS(NULL, IDR_MAINFRAME);
/*......*/
}



В ресурсах есть меню и тулбар с IDR_MAINFRAME. Меню создается на ура, тулбар нет. CreateSimpleToolBar возвращает не нулевое значение, тулбара не видно.
Создаю так:

CreateSimpleToolBar();
CreateSimpleToolBar(IDR_MAINFRAME); // пробовал и так
UIAddToolBar(m_hWndToolBar);
UISetCheck(ID_VIEW_TOOLBAR, 1);


Как создать ToolBar? Спасибо.
Re: Не могу создать Tool Bar
От: Figaro Россия  
Дата: 30.04.12 14:57
Оценка:
skipped

Код из моего проекта (с комбиком на тулбаре), подробностей не помню, 8-9 лет прошло...

HWND hWndToolBar = CreateMainToolBar();
...
CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE);
AddSimpleReBarBand(hWndToolBar, NULL, TRUE);
...
UIAddToolBar(hWndToolBar);


HWND CMainFrame::CreateMainToolBar(void)
{
    HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE);
    if (!hWndToolBar) 
        return (0);
    CToolBarCtrl wndToolBar(hWndToolBar);
    CClientDC dcClient(m_hWnd);
    dcClient.SelectFont(::AtlGetDefaultGuiFont());
    TEXTMETRIC tm;
    dcClient.GetTextMetrics(&tm);
    TBBUTTONINFO tbi;
    tbi.cbSize = sizeof(TBBUTTONINFO);
    tbi.dwMask = TBIF_STYLE | TBIF_SIZE | TBIF_BYINDEX;
    tbi.fsStyle = TBSTYLE_SEP;
    tbi.cx = (WORD) ((26 + 4) * tm.tmAveCharWidth);
    wndToolBar.SetButtonInfo(6, &tbi);
    CRect rcItem;
    wndToolBar.GetItemRect(6, &rcItem); 
    rcItem.bottom = 16 * (tm.tmHeight + tm.tmExternalLeading);
    m_wndComboSearch.Create(wndToolBar.m_hWnd, rcItem, NULL, CBS_AUTOHSCROLL | CBS_DROPDOWN | WS_TABSTOP | WS_CHILD | WS_VISIBLE | WS_VSCROLL, 0, IDC_SEARCHCOMBO);
    m_wndComboSearch.SetFont(::AtlGetDefaultGuiFont());
    m_wndComboSearch.LimitText(80);
    return (hWndToolBar);
}
avalon 1.0rc3 build 428, zlib 1.2.5
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.