Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Autoit слайдер/slider (gui) нужна помощь в решении задачи

Ответить
Настройки темы
Autoit слайдер/slider (gui) нужна помощь в решении задачи

Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


#include <GuiConstantsEx.au3>
#include <GuiSlider.au3>

GUICreate("Slider Set Pos", 600, 296)
$hSlider = GUICtrlCreateSlider(2, 40, 400, 20, BitOR($TBS_TOOLTIPS, $TBS_AUTOTICKS, $TBS_ENABLESELRANGE))
GUISetState()
GuiCtrlCreateInput("0,0148149998858571", 2, 10, 130, 20)
GuiCtrlCreateInput("0.14%", 140, 10, 130, 20)
$hSlider = GUICtrlCreateSlider(2, 100, 400, 20, BitOR($TBS_TOOLTIPS, $TBS_AUTOTICKS, $TBS_ENABLESELRANGE))
GUISetState()
GuiCtrlCreateInput("0,0198147568858794", 2, 70, 130, 20)
GuiCtrlCreateInput("0.15%", 140, 70, 130, 20)


; Loop until user exits
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE


начальный, даже не начальный, а просто шаблон скрипта.
Мне нужно чтобы
при движении слайдера, число над ним, именно в том формате как оно есть изменялась,
тоесть создать маленький миханизм.
На примере показано только два значения, их нужно мне примерно 10
и чтобы все они были взаимосвязаны друг с другом, тоесть чтобы вся их сумма была равна 1
например:
0,501393020153046
и
0,498607009649277
в сумме дают 1.00000022 небольшая погрешность есть
помогите, натолкните на мысль к решению проблемы

Отправлено: 23:03, 25-02-2010

 

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


aktivizion,
Здесь есть пример: Обновление элемента Slider в реальном времени

Отправлено: 02:12, 26-02-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Yashied

Старожил


Сообщения: 206
Благодарности: 88

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUISlider.au3>
#include <GUIToolTip.au3>
#include <SliderConstants.au3>
#include <WindowsConstants.au3>

GUICreate('MyGUI', 300, 100)
$Input = GUICtrlCreateInput('0.50%', 20, 60, 40, 19, BitOR($ES_CENTER, $ES_READONLY))
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Slider = GUICtrlCreateSlider(20, 16, 260, 28, BitOR($TBS_AUTOTICKS, $TBS_TOOLTIPS, $WS_TABSTOP))
GUICtrlSetLimit(-1, 10, 0)
GUICtrlSetData(-1, 5)
$hSlider = GUICtrlGetHandle(-1)
$Dummy = GUICtrlCreateDummy()
$hWnd = _GUICtrlSlider_GetToolTips($hSlider)
_GUIToolTip_SetTitle($hWnd, '0.50%')
_GUIToolTip_SetMargin($hWnd, -8, -8, -8, -24)

GUIRegisterMsg($WM_HSCROLL, 'WM_HVSCROLL')

GUISetState()

While 1
    $Msg = GUIGetMsg()
    Switch $Msg
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $Dummy
            $Val = StringFormat('%.2f%', GUICtrlRead($Dummy) / 10)
            GUICtrlSetData($Input, $Val)
            _GUIToolTip_SetTitle($hWnd, $Val)
            _GUIToolTip_Update($hWnd)
    EndSwitch
WEnd

Func WM_HVSCROLL($hWnd, $iMsg, $wParam, $lParam)
    Switch $iMsg
        Case $WM_HSCROLL
            Switch $lParam
                Case $hSlider
                    GUICtrlSendToDummy($Dummy, GUICtrlRead($Slider))
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_HVSCROLL
Что именно должно отображаться, я так и не понял.

Последний раз редактировалось Yashied, 26-02-2010 в 10:41.


Отправлено: 10:30, 26-02-2010 | #3


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ну как бы обьяснить...

Вот есть число 1
его надо разбить на %-ы
и с помощью самого слайдера редактирую именно тот % составляющий число 1, но
он должен имень очень огромный формат, для этого я и хотел бы вместе с вами написать
подобия калькулятора.

0,501393020153046 ~~51%
0,498607009649277 ~~49%

или же

0,333332985639572 ~~34%
0,218854993581772 ~~22%
0,185185000300407 ~~18%
0,042087998241186 ~~4%

и чтобы сумма этих чисел равнялось 1

Двигая слайдер изменяем % строки, вместе с этим изменяеться число

Думаю вы считаете это какой-то странной затеей, но это мне действительно нужно
если что, я буду пробовать сделать это самостоятельно

Отправлено: 16:34, 26-02-2010 | #4


Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


Цитата aktivizion:
0,501393020153046 ~~51%
0,498607009649277 ~~49% »
я бы сказал наоборот
0,501393020153046 ~~50%
0,498607009649277 ~~50%

это я так, к слову (элементарные правила округления). чтобы коварная ошибка не прокралась в код.

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Отправлено: 16:37, 26-02-2010 | #5


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Yashied:
GUICtrlSetLimit(-1, 10, 0) »
вот эту строчку немного подправил
GUICtrlSetLimit(-1, 1000, 0)
для более утонченного выбора %

Отправлено: 16:37, 26-02-2010 | #6


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата kaster:
элементарные правила округления »
Я про это знал, просто надо было как-то выделить %-ое соотношение

Отправлено: 18:59, 26-02-2010 | #7


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


ладно) закрывайте тему)

зато вспомнили как работает слайдер

Отправлено: 15:14, 01-03-2010 | #8


Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


aktivizion, просто отмечай тему решенной, если получил ответ на свой вопрос закрывать ни к чему

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Отправлено: 18:05, 01-03-2010 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Autoit слайдер/slider (gui) нужна помощь в решении задачи

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] нужна помощь в решении проги Паскаль(по методу Функции) eXPertVL Программирование и базы данных 2 29-11-2009 22:48
[AutoIt] нужна помощь Oldschool AutoIt 1 13-09-2007 13:07
Нужна помощь! joyland Вебмастеру 2 01-11-2006 02:17




 
Переход