007wan |
Отправлено: 10 Сентября, 2019 - 15:41:10
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Nikanr пишет: Можно код?
Серьезно?
Подсчет количества символов в тексте онлайн
Цитата: Всего символов: 49322
Без пробелов: 45144
Количество слов: 4179
(Добавление)
Ошибка заключалась в...
Если сделатьCODE:Object_Srollbar1 = CreateWindow(0, "SCROLLBAR", 0, WS_CHILD | WS_VISIBLE | SBS_VERT, 480, 10, 20, 440, gethwnd(1), 0, 0, 0);
SetScrollRange(Object_Srollbar1, 2, 0, 100, 1);
SetScrollPos(Object_Srollbar1, 2, 0, 1);
А потом создать пустую
CODE:function getmessage(1, WM_VSCROLL)//Ошибка код 1, другие так себя не видут, если кода нету.
{
}
(Добавление)
007wan пишет: Object_Srollbar1 Объявлена! |
|
|
007wan |
Отправлено: 11 Сентября, 2019 - 14:36:28
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Не работает!
(Добавление)
При добавлении CODE:function getmessage(0, WM_HSCROLL)
{
if (message.lparam==s1)
{
if (message.wparam==1 || message.wparam==3)//SB_LINERIGHT
{
pos=pos+10;
if (pos>max)pos=max;
SetScrollPos(s1,2,pos,1);
Изменить();
return;
}
if (message.wparam==0 || message.wparam==2)//SB_LINELEFT
{
pos=pos-10;
if (pos<min)pos=min;
SetScrollPos(s1,2,pos,1);
Изменить();
return;
}
///////////
if (loword(message.wparam)==5)//Зажали и двигаем
{
pos=pos-(pos-hiword(message.wparam));
if (pos>max)pos=max;
if (pos<min)pos=min;
SetScrollPos(s1,2,pos,1);
Изменить();
}
}
}
|
|
|
007wan |
Отправлено: 11 Сентября, 2019 - 15:23:03
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Zireael пишет: Цитата: Не работает!
Эта тема явно просится просится в 'Сюда сносятся вопросы, на которые никогда не будет ответа.' По-че-му? Код выложил. Проблему объяснил. Даже код попросил рабочий в другой теме, а мне никто не хочет помогать. Если бы код был на вертикальную скроллбар рабочую, у меня сообщения function getmessage(1, WM_VSCROLL) при добавлении этой функции пишет код1 при запуске, но сама функция работает, а скроллбар объявлен и создан в WM_CREATE 1
(Добавление)
Если был бы код, то проблема исчезла бы в 100% в случаях |
|
|
007wan |
Отправлено: 12 Сентября, 2019 - 14:57:11
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Раздербанил свой код и вот к чему я пришел.
Мигание ползунка - запустите.
Код (Отобразить)CODE:
//C
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "CreateMenu", "CreateMenu", "User32.dll");
//A
external(INT, "AppendMenu", "AppendMenuA", "User32.dll");
//S
external(INT, "SetMenuInfo", "SetMenuInfo", "User32.dll");
external(INT, "SetMenu", "SetMenu", "User32.dll" );
//-----------------------------------------------------------------------------------------------------------------------------------------------------
#definefile "C:\Users\Home\Desktop\МОЁ\Kibor\Constants.txt";
int Image_x[99], Image_y[99];
int Display_Color, Display_Width, Display_Height;
int MENUINFO[7] = {28, MIM_STYLE, 0, 0, 0, 0, 0};
int HMENU, HMENU1, HMENU2, HMENU3, HMENU4, SelectMenu;
win MainWindow, SecondaryWindow;
int Object_Scrollbar1;
int Srollbar1_Min = 0, Srollbar1_Max = 100, Srollbar1_Pos = 0, Up_Controls, Down_Controls;
//-----------------------------------------------------------------------------------------------------------------------------------------------------
getdisplay(Display_Color, Display_Width, Display_Height);
createdialog(0);
createdialog(1);
showdialog(0, "Основной", Display_Width/2-450, Display_Height/2-400, 700, 400, 4, 1);
setwindowparam(MainWindow);
//-----------------------------------------------------------------------------------------------------------------------------------------------------
while(window("Основной") == 0)
{
sleep(10);
}
else
{
//Window_Adjust();
//Window_Topmost();
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
loop()
{
sleep(10);
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
function getmessage(0, WM_CREATE)
{
MainWindow = formatiw(gethwnd(0));
HMENU = CreateMenu();
AppendMenu(HMENU, MF_POPUP, 1, "Настройки" );
AppendMenu(HMENU, MF_POPUP, 211, "Обновить" );
AppendMenu(HMENU, MF_POPUP, 111, "О программе" );
SetMenuInfo(HMENU, address(#MENUINFO[0]));
SetMenu(gethwnd(0), HMENU);
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
function getmessage(0, WM_COMMAND)
{
if(loword(message.wparam) == 1)
{
MainWindow = window("Основной");
showdialog(1, "Настройки", MainWindow.left+100, MainWindow.top+100, 525, 500, 4, 1);
setwindowparam(SecondaryWindow);
}
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
function getmessage(1, WM_CREATE)
{
Object_Scrollbar1 = CreateWindow(0, "SCROLLBAR", 0, WS_VISIBLE | WS_CHILD | SBS_VERT, 10, 10, 20, 200, gethwnd(1), 0, 0, 0);
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
(Добавление)
Но перед этим открыть "Настройки"
(Добавление)
Раньше, когда код был большой была ошибка при добавлении Функции обработки Ползунка WM_HSCROLL или V |
|
|
|