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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2012, 18:30   #1
enjo
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 47
По умолчанию узнать текущее положение slider control

Всем доброго времени суток! Как узнать текущее положение ползунка slider control. Предполагаю через обращение к моему контролу с использованием функции TBM_GETPOS. Но как правильно описать это действие?
SendDlgItemMessage(hDlg,IDC_SLIDER1 ,TBM_GETPOS,1,pos); - похожее на правду???????

Последний раз редактировалось enjo; 28.11.2012 в 18:35.
enjo вне форума Ответить с цитированием
Старый 28.11.2012, 18:59   #2
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

int Pos = SendMessage(HWND,TB_GETPOS,0,0)

где HWND - HWND slider bar`а
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 28.11.2012, 19:20   #3
enjo
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 47
По умолчанию

int slhwnd = GetDlgItemInt(hDlg, IDC_SLIDER1);
int pos = SendMessage(slhwnd,TBM_GETPOS,0,0);
что-то похожее? Но, надо еще параметры для GetDlgItemInt
enjo вне форума Ответить с цитированием
Старый 28.11.2012, 19:24   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

enjo

SendDlgItemMessage(hDlg,IDC_SLIDER1 ,TBM_GETPOS,1,pos); - похожее на правду???????

похоже, но не совсем. wparam и lparam должны быть равны нулю, а позиция будет возвернута взад o_O

и лучше воспользуйся классом из MFC/WTL - гемора намного меньше.
Rififi вне форума Ответить с цитированием
Старый 28.11.2012, 19:25   #5
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

HWND hSlider = GetDlgItem(hWnd,IDC_SLIDER1);
int pos = SendMessage(hSlider,TBM_GETPOS,0,0) ;

hWnd - HWND родительского окна
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 28.11.2012, 19:25   #6
enjo
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 47
По умолчанию

Спасибо, исправил ошибку свою

а как можно, когда вводится значение в едит, то его считывать по нажатию ентер, а не кнопки? Я так понимаю, надо свич ставить на ентер и в нем проверять фокус какого едита сейчас есть? я правильно понимаю?
enjo вне форума Ответить с цитированием
Старый 28.11.2012, 19:30   #7
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

enjo

когда вводится значение в едит, то его считывать по нажатию ентер, а не кнопки?

если у edit'а не установлен стиль wantreturn, то жмяканье по энтеру будет воспринято на нажание def-button у диалога.
просто обрабатывай это в OnOK, или где там оно у тебя...
Rififi вне форума Ответить с цитированием
Старый 28.11.2012, 19:43   #8
enjo
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 47
По умолчанию

switch (message)
{
......
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case IDC_CHECK1:
{
........
break;
}
case IDC_BUTTON2:
{
........
break;
}
}
if(LOWORD(wParam)==IDOK || LOWORD(wParam)==IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return (INT_PTR)TRUE;
}
}
break;
}
спасибо тру поставил для вонтретон на едите.
я так понимаю мне кейс вставить с OnOK
case OnOK:
or
if(LOWORD(wParam)==OnOK)
enjo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Slider Control electronic255 Помощь студентам 0 25.11.2012 23:08
Как в Delphi узнать текущее UTC время (now)? Anfall Общие вопросы Delphi 6 28.10.2010 14:13
Slider Control huzik Общие вопросы C/C++ 4 26.10.2009 02:06
Где узнать текущее разрешение экрана? Teksa Помощь студентам 2 07.09.2007 17:19