Операционная система Windows 95 для программиста



         

Исходные тексты приложения Smart Application - часть 4


switch(pnmhdr->code) { // Если получили сообщение от ToolTips, загружаем из // ресурсов соответствующую текстовую строку case TTN_NEEDTEXT: lpToolTipText = (LPTOOLTIPTEXT)pnmhdr; LoadString(hInst, lpToolTipText->hdr.idFrom, szBuf, sizeof(szBuf)); lpToolTipText->lpszText = szBuf; break;

// Возвращаем окну Toolbar характеристики кнопки, // с номером, заданным в lptbn->iItem case TBN_GETBUTTONINFO: lptbn = (LPTBNOTIFY)pnmhdr; nItem = lptbn->iItem; lptbn->tbButton.iBitmap = tbButtons[nItem].iBitmap; lptbn->tbButton.idCommand = tbButtons[nItem].idCommand; lptbn->tbButton.fsState = tbButtons[nItem].fsState; lptbn->tbButton.fsStyle = tbButtons[nItem].fsStyle; lptbn->tbButton.dwData = tbButtons[nItem].dwData; lptbn->tbButton.iString = tbButtons[nItem].iString;

// Если запрашиваются характеристики несуществующей // кнопки, возвращаем FALSE return((nItem < sizeof(tbButtons)/sizeof(tbButtons[0]))? TRUE : FALSE); break;

// Разрешаем удаление любой кнопки, кроме самой первой case TBN_QUERYDELETE: lptbn = (LPTBNOTIFY)pnmhdr; nItem = lptbn->iItem; return (nItem == 0)? FALSE : TRUE; break;

// Разрешаем вставку любой кнопки, кроме самой первой case TBN_QUERYINSERT: lptbn = (LPTBNOTIFY)pnmhdr; nItem = lptbn->iItem; return (nItem == 0)? FALSE : TRUE; break;

// В ответ на завершение операции перемещения // перерисовываем Toolbar case TBN_TOOLBARCHANGE: SendMessage(hwndTb, TB_AUTOSIZE, 0L, 0L); return TRUE; break;

default: break; } return FALSE; }

// ----------------------------------------------------- // Функция WndProc_OnSize // ----------------------------------------------------- #pragma warning(disable: 4098) void WndProc_OnSize(HWND hwnd, UINT state, int cx, int cy) { // Изменяем размеры Toolbar и Statusbar в соответствии с // новыми размерами окна SendMessage(hwndTb, WM_SIZE, cx, cy); SendMessage(hwndSb, WM_SIZE, cx, cy);

// Рассчитываем размеры областей Statusbar ptWidth[0] = cx/2; ptWidth[1] = cx/2 + cx/4; ptWidth[2] = -1;

// Устанавливаем новые размеры Statusbar SendMessage(hwndSb, SB_SETPARTS, 3, (LPARAM)ptWidth);




Содержание  Назад  Вперед