Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];

Вниз

Подправить UpDown   Найти похожие ветки 

 
SPeller   (2002-07-20 14:14) [0]

Привет всем! Такой вопрос: как как сделать так, чтобы UpDown из виндовых Common Controls увеличивал своё значение при нажати на верхнюю кнопку, а не наоборот ? А то плохая ему наследственность видимо от Scroll Bar"а досталась. Как можно это изменить?


 
SPeller   (2002-07-20 14:15) [1]

И ещё попутный вопрос: можно ли кроме ручной отрисовки сделать что-то типа flat-стиля этому АпДауну ?


 
SPeller   (2002-07-21 15:19) [2]

Что совсем никак? АУ!! МАСТЕРА !!! :)


 
Song   (2002-07-21 16:09) [3]

Сделай свой UpDown :-) TEdit+2TSpeedButton


 
SPeller   (2002-07-21 18:49) [4]

Да зачем мне ваш TEdit? Мне надо на АПИ. Win32 API. Знаете такое? В вопросе же написано: CommonControls. К чему-либо другому оно имеет отношение кроме ВинАПИ ?


 
SPeller   (2002-07-21 18:50) [5]

Извините за сарказм.... :


 
ZZ   (2002-07-21 18:54) [6]

Да бросай его нафиг, этот винапи...давай в чат :)))


 
SPeller   (2002-07-22 01:59) [7]


> ZZ © (21.07.02 18:54)
> Да бросай его нафиг, этот винапи...давай в чат :)))

Вот это как раз и не надо бросать. А обчатиться я завсегда успею... :)


 
Proton   (2002-07-22 10:05) [8]

напрмер в событии WM_HSCROLL
если SB_TOP то
UDM_SETPOS (уменьшай на 2)


 
SPeller   (2002-07-23 06:51) [9]

Заковырка ещё в том, что я устанавливаю его Buddy - edit, в котором отображается значение. Можно конечно перехватывать всё что есть и руками управлять едитом, едит тоже махратить, отлавливать нажатие клавиш и т.п. Но зачем всё это делать когда оно уже за нас всё сделано, проверено и отлажено? Надо всего-то изменить одно на другое и всё. Наверняка есть довольно простой способ, но я не знаю его и пытаюсь выяснить - какой?


 
SPeller   (2002-07-24 03:28) [10]

АУ!!!!!!! Что-то ртвечает народ только на фанарные вопросы типа "как на чистом апи прочитать файл", а вот немного посложнее остаются без ответов.
МАСТЕРА!!! Блин!


 
Almaz   (2002-07-24 23:28) [11]


> SPeller © (23.07.02 06:51)
> Заковырка ещё в том, что я устанавливаю его Buddy - edit,
> в котором отображается значение. Можно конечно перехватывать
> всё что есть и руками управлять едитом, едит тоже махратить,
> отлавливать нажатие клавиш и т.п. Но зачем всё это делать
> когда оно уже за нас всё сделано, проверено и отлажено?
> Надо всего-то изменить одно на другое и всё. Наверняка есть
> довольно простой способ, но я не знаю его и пытаюсь выяснить
> - какой?

Все гениальное просто - устанавливаешь для UpDown инкремент = -1 и верхняя и нижняя кнопка меняются местами. Вот так:


uses ..., CommCtrl;

...

var
AccelArray: array [0..0] of TUDAccel;

...
// Handle - это handle UpDown
SendMessage(Handle, UDM_GETACCEL, 1, Longint(@AccelArray));
AccelArray[0].nInc := UINT(-1);
SendMessage(Handle, UDM_SETACCEL, 1, Longint(@AccelArray));



Удачи.


 
SPeller   (2002-07-25 05:35) [12]

Спасибо.


 
Eugen Honeker   (2002-07-26 14:41) [13]

luidi dobrye,
za4em delat" tak slogno, esl"i mogno namnogo
proshe???

odin ras poslat" komandu i wse
SendMessage(hwnd, UDM_SETRANGE, 0, MAKELONG($7FFF,0));


 
SPeller   (2002-07-26 17:12) [14]


> Eugen Honeker (26.07.02 14:41)
> SendMessage(hwnd, UDM_SETRANGE, 0, MAKELONG($7FFF,0));

А что означает $7FFF ? Можно его обозвать более наглядной константой?


 
Eugen Honeker   (2002-07-26 18:06) [15]

a eto hex na delphi
na c byloby 0x7FFF
ili kak integer 32767


 
Eugen Honeker   (2002-07-26 18:09) [16]

sorry woprosa ne ponjal

#define UD_MAXVAL 0x7fff
#define UD_MINVAL (-UD_MAXVAL)



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
14-50913
MIFI
2002-08-21 00:20
2002.09.16
из ASP в скрипт


4-51040
keymaster
2002-07-27 02:34
2002.09.16
Рисование без формы


1-50716
Andre V.
2002-09-04 13:56
2002.09.16
Закрасить наследника BUTTON


14-50912
~Rand~
2002-08-19 23:38
2002.09.16
WinXP на Р2


1-50815
DeMoN-777
2002-09-03 17:33
2002.09.16
Медиа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский