Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2011, 00:01   #1
Trust_357
Пользователь
 
Регистрация: 10.03.2011
Сообщений: 68
По умолчанию Первая работа со слайдером

Всем привет! Недавно начали изучать WINAPI, учитель задал на выходные разобрать три контрола. Начал со слайдера. Прикол в том, что нада обработать Slider обходя WM_HSCROLL, то есть
Код:
void Cls_OnCommand(HWND hDlg, int id, HWND hwndCtl, UINT codeNotify)
{
	switch(id)
	{
	case IDOK:
		break;
	case IDCANCEL:
		EndDialog(hDlg,id);
		break;
	}
}
BOOL OnNotify(HWND hDlg,INT id,NMHDR *p)
{
	switch(id)
	{
	case IDC_SPIN1:
		switch(p->code)
		{
		case UDN_DELTAPOS:
			NMUPDOWN *p1=(NMUPDOWN*)p;
			p1->iDelta=-p1->iDelta;
			return TRUE;
		}
		break;
	case IDC_SLIDER1:
		//NMTRBTHUMBPOSCHANGING 
                return TRUE;
	}
	return FALSE;
}
BOOL Cls_OnInitDialog(HWND hDlg, HWND hwndFocus, LPARAM lParam)
{
	return true;
}

INT_PTR CALLBACK MyDialogProc(HWND hDlg,UINT msg,WPARAM wParam,LPARAM lParam)
{
	switch(msg)
	{
		HANDLE_MSG(hDlg,WM_COMMAND,Cls_OnCommand);
		HANDLE_MSG(hDlg,WM_INITDIALOG,Cls_OnInitDialog);
		HANDLE_MSG(hDlg,WM_NOTIFY,OnNotify);
	}
	return 0;
}
Пробывал TB_THUMBTRACK в кейс не заходит(
Нашёл Структуру NMTRBTHUMBPOSCHANGING и нотификейшн TRBN_THUMBPOSCHANGING у которых минимальные требования Виста(на сколько Я понял под что компилировать можно в студии настроить) Настроек не нашёл( убил выходные. Подскажите пожалуйста что можете, запарился

Последний раз редактировалось Trust_357; 12.12.2011 в 01:20.
Trust_357 вне форума Ответить с цитированием
Старый 12.12.2011, 02:31   #2
Trust_357
Пользователь
 
Регистрация: 10.03.2011
Сообщений: 68
По умолчанию

Мужики победил!!!) Обошёлся дефайном!)

Код:
#ifndef _WIN32_WINNT_WIN7
#define  _WIN32_WINNT 0x0601
#endif
Теперь остаётся проверить, смогу ли Я что то сделать с помощью TRBN_THUMBPOSCHANGING и структуры NMTRBTHUMBPOSCHANGING

Блин всё равно не могу перехватить сообщение. Учитель сказал используя нотификейшн, WM_HSCROLL не трогать. Я с этим мсдн уже английский начинаю понимать)))

Последний раз редактировалось Trust_357; 12.12.2011 в 03:17.
Trust_357 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Первая работа с классами Rekky Общие вопросы C/C++ 1 04.05.2011 10:35
Первая программа JaroslavB Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 25.02.2011 20:35
Первый опыт. Первая работа. NStudent Свободное общение 17 10.07.2009 22:24
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45
первая тема execom Софт 1 29.10.2006 01:15