|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.11.2012, 18:30 | #1 |
Пользователь
Регистрация: 14.12.2009
Сообщений: 47
|
узнать текущее положение slider control
Всем доброго времени суток! Как узнать текущее положение ползунка slider control. Предполагаю через обращение к моему контролу с использованием функции TBM_GETPOS. Но как правильно описать это действие?
SendDlgItemMessage(hDlg,IDC_SLIDER1 ,TBM_GETPOS,1,pos); - похожее на правду??????? Последний раз редактировалось enjo; 28.11.2012 в 18:35. |
28.11.2012, 18:59 | #2 |
Форумчанин
Регистрация: 22.12.2011
Сообщений: 378
|
int Pos = SendMessage(HWND,TB_GETPOS,0,0)
где HWND - HWND slider bar`а
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
|
28.11.2012, 19:20 | #3 |
Пользователь
Регистрация: 14.12.2009
Сообщений: 47
|
int slhwnd = GetDlgItemInt(hDlg, IDC_SLIDER1);
int pos = SendMessage(slhwnd,TBM_GETPOS,0,0); что-то похожее? Но, надо еще параметры для GetDlgItemInt |
28.11.2012, 19:24 | #4 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
enjo
SendDlgItemMessage(hDlg,IDC_SLIDER1 ,TBM_GETPOS,1,pos); - похожее на правду??????? похоже, но не совсем. wparam и lparam должны быть равны нулю, а позиция будет возвернута взад o_O и лучше воспользуйся классом из MFC/WTL - гемора намного меньше.
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
28.11.2012, 19:25 | #5 |
Форумчанин
Регистрация: 22.12.2011
Сообщений: 378
|
HWND hSlider = GetDlgItem(hWnd,IDC_SLIDER1);
int pos = SendMessage(hSlider,TBM_GETPOS,0,0) ; hWnd - HWND родительского окна
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
|
28.11.2012, 19:25 | #6 |
Пользователь
Регистрация: 14.12.2009
Сообщений: 47
|
Спасибо, исправил ошибку свою
а как можно, когда вводится значение в едит, то его считывать по нажатию ентер, а не кнопки? Я так понимаю, надо свич ставить на ентер и в нем проверять фокус какого едита сейчас есть? я правильно понимаю? |
28.11.2012, 19:30 | #7 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
enjo
когда вводится значение в едит, то его считывать по нажатию ентер, а не кнопки? если у edit'а не установлен стиль wantreturn, то жмяканье по энтеру будет воспринято на нажание def-button у диалога. просто обрабатывай это в OnOK, или где там оно у тебя...
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
28.11.2012, 19:43 | #8 |
Пользователь
Регистрация: 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) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |