Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > проблемы с всплывающими подсказками CToolTip


Автор: AnnyLondon 22.12.2010, 20:34
не могу создать подсказку....
Код

//в заголовочном
 CToolTipCtrl m_pTips;

//в с++

BOOL CkursovaDlg::OnInitDialog()//инициализация нашего диалогового окна
{
    CDialogEx::OnInitDialog();

m_pTips.Create(this);
    m_pTips.AddTool(GetDlgItem(IDOK),"выход из программы");
    m_pTips.Activate(TRUE);
    return TRUE;  // возврат значения TRUE, если фокус не передан элементу управления
}



при запуске выдает следующую ошибку:
error C2664: BOOL CToolTipCtrl::AddTool(CWnd *,UINT,LPCRECT,UINT_PTR): невозможно преобразовать параметр 2 из "const char [19]" в "UINT"
  Не существует контекста, в котором такое преобразование возможно


искала в интернете...там прописывается точно также...
как исправить ошибку?

Автор: AnnyLondon 23.12.2010, 01:47
нашла
нужно поставить m_pTips.AddTool(GetDlgItem(IDOK),_T("Кнопка выхода из программы"));

Автор: AnnyLondon 23.12.2010, 04:00
Функция для создания панели подсказок в CToolBar
Код

//заголовочный
typedef TCHAR* TSTR;
class CMyDlg : public CDialogEx
{
.........
public:
          CToolBar m_Tool1;
          CToolTipCtrl m_pTips;
        virtual BOOL PreTranslateMessage(MSG* pMsg);
        void SetBarTip(int Index, TSTR Text, UINT id);
//.cpp
BOOL CMyDlg::OnInitDialog()//инициализация нашего диалогового окна
{
    CDialogEx::OnInitDialog();
.................
m_Tool1.Create(this,WS_CHILD|WS_VISIBLE|CBRS_TOOLTIPS|CBRS_TOP);//создаем нашу панель
    m_Tool1.LoadToolBar(IDR_TOOLBAR1);//загружаем переменную панели инструментов из панели ресурсов
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);//отображаем нашу панель с певой иконки до последней
    m_Tool1.SetButtonStyle(0,TBBS_CHECKGROUP|TBSTYLE_TOOLTIPS);//стиль первой кнопки на панеле;здесь "0" индекс кнопки
    m_pTips.Create(this);
    SetBarTip(0,_T( "всплывающая подсказка"), ID_BUTTON32772);
    //0-индекс кнопки
// текст всплывающей подсказки
// id нашей кнопки

    m_pTips.Activate(TRUE);
    m_Tool1.GetToolBarCtrl().SetToolTips(&m_pTips);
    
    return TRUE;  // возврат значения TRUE, если фокус не передан элементу управления
}


void CkursovaDlg::SetBarTip(int Index, TSTR Text, UINT id)
{
    CRect rect;
m_Tool1.GetClientRect(&rect);
int _h=rect.Height();
rect.left+=Index*_h;
rect.right=rect.left+_h;
m_pTips.AddTool(&m_Tool1, Text, &rect, id);
}




может кому нить поможет))))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)