Ответы пользователя по тегу API
  • Как настроить бота в вк принимать сообщенияя из бесед?

    MaxLevs
    @MaxLevs
    Возможно, проблема кроется в правах бота.
    На странице документации, посвященной CallbackAPI, можно увидеть информацию о том, что:
    • Для доступа к групповым сообщениям версия API должна быть не меньше 5.80
    • Для получения всехсообщений нужно выдать боту права "Доступ ко всей переписке" или выше


    ==================================================================================
    5c3bfe0ae0e83409804583.png
    Ответ написан
    Комментировать
  • Можно ли в WinApi использовать slider control для получения целочисленного значения в заданном диапазоне?

    MaxLevs
    @MaxLevs Автор вопроса
    Вопрос снят. Все-таки смог найти решение. (сложно как-то мне в документации искать: не то все время получаю)

    Для начала нужно подключить вот этот файл для получения кодов сообщений для слайдера
    #include <Commctrl.h>

    Диалог вызывается так
    DialogBox(
    	hInst,
    	MAKEINTRESOURCE(IDD_USER_TERN),
    	hWnd, 
    	(DLGPROC)(AskNumber)
    );


    Затем сама процедура обработки диалога
    AskNumber
    LRESULT CALLBACK AskNumber(
    	HWND hDlg,
    	UINT Msg,
    	WPARAM wParam,
    	LPARAM lParam
    ) {
    	
    	HWND sliderBar = GetDlgItem(hDlg, IDC_NUMBER));
    	switch (Msg)
    	{
    	case WM_INITDIALOG:
    		SendMessage(sliderBar, TBM_SETRANGEMIN	, false, 1);   //минимум
    		SendMessage(sliderBar, TBM_SETRANGEMAX, false, 10); //максимум
    		SendMessage(sliderBar, TBM_SETTICFREQ	, false, 1);   //шаг
    		return static_cast<LRESULT>(true);
    
    	case WM_HSCROLL:
    	{
    		if (sliderBar == (HWND)lParam) //если речь идет о нашел слайдере
    		{
    			int curNumb = SendMessage(sliderBar, TBM_GETPOS, 0, 0); // Получаем текущее положение слайдера
    			/* Делаем с ним, что хотим */
    		}
    
    		break;
    	}
    
    	case WM_COMMAND:
    		switch (LOWORD(wParam)) {
    		case ID_DO_TERN:
    			int curNumb= SendMessage(sliderBar, TBM_GETPOS, 0, 0);
    			wchar_t buff[100];
    			wsprintfW(buff, L"%d", curNumb); // Преобразуем число к строке
    			MessageBox(hWnd, buff, L"Число!", MB_OK); // Выводим выбранное значение
    			EndDialog(hDlg, LOWORD(wParam));
    			return static_cast<LRESULT>(true);
    			break;
    		}
    		break;
    	return static_cast<LRESULT>(false);
    }



    Единственная моя проблема - навигация по документации...
    Ответ написан
    Комментировать