 |
Как Сворачивания меню при нажатии на бокс - Общение разработчиков - Программирование для Point Blank, общение и обсуждение разработок |
02.11.2012, 14:47
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 29.09.2012
 Сообщений: 2
 Популярность: 155
 Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 2 сообщениях
|
Как Сворачивания меню при нажатии на бокс
Надо сделать чтоб при нажатии на
"DrawBox(x,y+3,w,25,V3,pDevice);" происходили сворачивания меню.
или же по координатам этого бокса ..
Помогите
|
|
|
02.11.2012, 14:48
|
#2
|
|
|
|
Старший сержант
|
 Регистрация: 18.02.2011
 Сообщений: 232
 Популярность: 8824
 Сказал(а) спасибо: 43
Поблагодарили 801 раз(а) в 240 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
нужна магия
Код:
Функция для магических действий с управлением меню()
{
полная фигня
if(если координаты мышки в боксе)
{
если меню открыто закрыть его
или
если меню закрыто открыть его
}
еще одна непонятная фигня
}
я думаю это идеально подойдет для этого неизвестного исходника, который я даже смотреть не собираюсь, так как это элементарно
Последний раз редактировалось slava-zis; 02.11.2012 в 14:55.
Причина: й
|
|
|
02.11.2012, 14:50
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 29.09.2012
 Сообщений: 2
 Популярность: 155
 Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 2 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
Последний раз редактировалось Mr.Misha; 02.11.2012 в 15:04.
Причина: Добавлено сообщение
|
|
|
02.11.2012, 15:08
|
#4
|
|
|
|
Разведчик
|
 Регистрация: 01.11.2012
 Сообщений: 3
 Популярность: 474
 Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Как Сворачивания меню при нажатии на бокс
Mr.Misha, Может нам за тебя сделать меню и вх ?
|
|
|
02.11.2012, 15:10
|
#5
|
|
|
|
Разведчик
|
 Регистрация: 29.09.2012
 Сообщений: 2
 Популярность: 155
 Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 2 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
|
|
|
02.11.2012, 15:18
|
#6
|
|
|
|
Фельдмаршал
|
 Регистрация: 22.02.2011
 Сообщений: 949
 Популярность: 34698
 Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
Mr.Misha,
У тебя исходник на мышке или нет?
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
02.11.2012, 15:31
|
#7
|
|
|
|
Разведчик
|
 Регистрация: 12.01.2012
 Сообщений: 33
 Популярность: 2330
 Сказал(а) спасибо: 223
Поблагодарили 63 раз(а) в 46 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
Код:
static struct key_s
{
bool bPressed;
DWORD dwStartTime;
}kPressingKey[256];
bool KeyPressed(int Key,DWORD dwTimeOut)
{
if(HIWORD(GetKeyState(Key)))
{
if(!kPressingKey[Key].bPressed||(kPressingKey[Key].dwStartTime && (kPressingKey[Key].dwStartTime + dwTimeOut ) <= GetTickCount( ) ) )
{
kPressingKey[Key].bPressed = TRUE;
if( dwTimeOut > NULL )kPressingKey[Key].dwStartTime = GetTickCount();
return TRUE;
}
}
else
kPressingKey[Key].bPressed = FALSE;
return FALSE;
}
BOOL IsInBox(int x,int y,int w,int h)
{
POINT MousePosition;
GetCursorPos(&MousePosition);
ScreenToClient(GetForegroundWindow(),&MousePosition);
return(MousePosition.x >= x && MousePosition.x <= x + w && MousePosition.y >= y && MousePosition.y <= y + h);
}
if(IsInBox(x,y+3,w,25))
{
if(KeyPressed(0x2,0))
Menu = !Menu;
}
Даже и незнаю прокатит ли.
|
|
|
02.11.2012, 15:33
|
#8
|
|
|
|
Разведчик
|
 Регистрация: 01.11.2012
 Сообщений: 3
 Популярность: 474
 Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Как Сворачивания меню при нажатии на бокс
Mr.Misha,
Код:
void cMenu::Draw_Button_Test(int x ,int y , int w , int h ,int &Var ,char *Button_Text ,LPDIRECT3DDEVICE9 pDevice)
{
int y_ = (y) + (h/2)-7;
int x_ = x +w+2;
int y__ = ((h) - (h/2));
int x__ = (x + w/2);
if(IsInBox(x-3,y-2,1000,200))//при поподании курсора в заданное место выполняем следующее
{
if(GetAsyncKeyState(VK_LBUTTON)&1)//при нажатии ЛКМ в заданных координатах выполняем следующее(в зависимости от состояния)
{
if(Var == 1 && Var !=0)
{
Var = 0;
}
else
if(Var == 0)
{
Var = 1;
}
}
}
if(Var == 0)//Если выключено, то рисуем
{
DrawBox(x+WIDTH-20+2,y+1,1000,200,GREEN,pDevice);//рисуем квадратик меньшим размером чем основной
}
if(Var == 1)//Если включено, то рисуем
{
DrawBox(x+200+WIDTH-20+2,y+200,1000,200,RED,pDevice);//рисуем квадратик меньшим размером чем основной
}
}
Как то так ,если чо координаты сам отредактируеш
|
|
|
02.11.2012, 15:38
|
#9
|
|
|
|
Разведчик
|
 Регистрация: 29.09.2012
 Сообщений: 2
 Популярность: 155
 Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 2 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Mr.Misha,
Код:
void cMenu::Draw_Button_Test(int x ,int y , int w , int h ,int &Var ,char *Button_Text ,LPDIRECT3DDEVICE9 pDevice)
{
int y_ = (y) + (h/2)-7;
int x_ = x +w+2;
int y__ = ((h) - (h/2));
int x__ = (x + w/2);
if(IsInBox(x-3,y-2,1000,200))//при поподании курсора в заданное место выполняем следующее
{
if(GetAsyncKeyState(VK_LBUTTON)&1)//при нажатии ЛКМ в заданных координатах выполняем следующее(в зависимости от состояния)
{
if(Var == 1 && Var !=0)
{
Var = 0;
}
else
if(Var == 0)
{
Var = 1;
}
}
}
if(Var == 0)//Если выключено, то рисуем
{
DrawBox(x+WIDTH-20+2,y+1,1000,200,GREEN,pDevice);//рисуем квадратик меньшим размером чем основной
}
if(Var == 1)//Если включено, то рисуем
{
DrawBox(x+200+WIDTH-20+2,y+200,1000,200,RED,pDevice);//рисуем квадратик меньшим размером чем основной
}
}
Как то так ,если чо координаты сам отредактируеш
|
|
 |
|
 |
|
дай void Draw_Button_Test ...
 |
Цитата: |
 |
|
|
 |
Сообщение от Dimedrol1536(2) |
 |
|
|
|
|
|
|
Mr.Misha,
У тебя исходник на мышке или нет?
|
|
 |
|
 |
|
на мишке
|
|
|
02.11.2012, 15:40
|
#10
|
|
|
|
Разведчик
|
 Регистрация: 12.01.2012
 Сообщений: 33
 Популярность: 2330
 Сказал(а) спасибо: 223
Поблагодарили 63 раз(а) в 46 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
|
|
|
Пользователь сказал cпасибо:
|
|
02.11.2012, 15:43
|
#11
|
|
|
|
Разведчик
|
 Регистрация: 29.09.2012
 Сообщений: 2
 Популярность: 155
 Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 2 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
Что
На димидрола (тот что он переделал когда то)
|
|
|
02.11.2012, 15:57
|
#12
|
|
|
|
Фельдмаршал
|
 Регистрация: 22.02.2011
 Сообщений: 949
 Популярность: 34698
 Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
тот что он переделал когда то
|
|
 |
|
 |
|
Выложи исходник этот, проше будет.
BiG_Apple, NoName%(2), вы извращение пишите, тут максимум 4-6 строк кода.
Делал я когдато такой исход, но уже его нету у меня.
Вспоминать не охота.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось Dimedrol1536; 02.11.2012 в 15:59.
|
|
|
02.11.2012, 16:03
|
#13
|
|
|
|
Разведчик
|
 Регистрация: 12.01.2012
 Сообщений: 33
 Популярность: 2330
 Сказал(а) спасибо: 223
Поблагодарили 63 раз(а) в 46 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
 |
Цитата: |
 |
|
|
 |
Сообщение от Dimedrol1536(2) |
 |
|
|
|
|
|
|
Выложи исходник этот, проше будет.
BiG_Apple, NoName%(2), вы извращение пишите, тут максимум 4-6 строк кода.
Делал я когдато такой исход, но уже его нету у меня.
Вспоминать не охота.
|
|
 |
|
 |
|
ты внимательно посмотри там и есть мало строк,а то что много это функции вспомогательные.
if(IsInBox(x,y+3,w,25))
if(KeyPressed(0x2,0))
Menu = !Menu;
|
|
|
02.11.2012, 16:07
|
#14
|
|
|
|
Разведчик
|
 Регистрация: 29.09.2012
 Сообщений: 2
 Популярность: 155
 Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 2 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
|
|
|
02.11.2012, 16:10
|
#15
|
|
|
|
Фельдмаршал
|
 Регистрация: 22.02.2011
 Сообщений: 949
 Популярность: 34698
 Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Re: Как Сворачивания меню при нажатии на бокс
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 03:03.
|
 |