Не удается получить текст из элемента управления вкладки - PullRequest
0 голосов
/ 27 июня 2010

Я пытаюсь получить текст из элемента управления табуляции следующим образом:

TCITEM itm;
        itm.mask = TCIF_TEXT;

        TabCtrl_GetItem(engineGL.controls.MainGlTab.MainTabHwnd,i,&itm);

, но часть структуры psztext возвращает неверный указатель (0xcccccccccc).

Iсоздайте вкладки следующим образом:

void OGLMAINTAB::AddTab( char *name )
{
    TCITEM itm;
    itm.cchTextMax = 30;
    itm.pszText = name;
    itm.mask = TCIF_TEXT;

    int numitems = TabCtrl_GetItemCount(MainTabHwnd);

    SendMessage(MainTabHwnd,TCM_INSERTITEM,numitems,(LPARAM)&itm);
}

почему текст не возвращается так, как я хочу?

Спасибо

1 Ответ

1 голос
/ 27 июня 2010

При настройке текста cchTextMax игнорируется.

При получении текста вам нужно предоставить свой собственный буфер и соответственно установить cchTextMax. (Обратите внимание, что когда сообщение возвращается, вам нужно использовать указатель itm.pszText, а не собственный буфер, поскольку элемент управления иногда изменяет член pszText, чтобы он указывал на его внутренний буфер)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...