[Ссылки могут видеть только зарегистрированные пользователи. ]
Добрый день пользователи zhyk.ru
Сейчас я вам расскажу как сделать бокс кнопки.
Вот пример их (что бы вы поняли что это такое) ТыК
[Ссылки могут видеть только зарегистрированные пользователи. ]
Для примера расскажу как делать три кнопки (Выход / Свертывание меню / Переход по ссылке на профиль и т.п)
И так в первую очередь объявляем переменные:
Код:
int hide_menu;
int exit_x;
int Avtor;
Затем заходим в файл cMenu.cpp (или любой другой, в котором прописано управление меню и т.д) Для исходника PHC D3D Base:
▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀
Для других исходников потребуется другой код, т.к некторые функции, как DrawText отличаются постановкой переменных.
Если у вас нету в исходнике функции DrawText или при прописывании функции Draw_Button есть ошибки, то вставьте вот этот DrawText ТыК
Если вы делаете это в файле *.cpp , а кнопки будете делать в другом файле, то надо будет озаглавить все функции:
▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀
Для PHC D3D Menu:
p.s Все остальные функции озаглавливать не надо. (т.к будем использовать только эту функцию)
p.p.s Если вы будете делать это в исходнике PHC D3D Menu и у вас будет писать, что какая то функция не пренадлежит к классу cMenu, то нужно будет просто вначале функции подставить cMenu:: (Например void cManu::Funkcia (void)) Но это нужно будет, если вы озаглавливали эту функцию в этом классе.
▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀
Теперь делаем кнопки.
где, X - Координаты отступа от левого края экрана (Горизонталь) Y - Координаты отступа от верхнего края экрана (Вертикаль) 80 - ШиринаКнопки 15 - Высота кнопки exit_x - Переменная функции (которой вы хотите управлять) Выход - Текст кнопки (текст, который рисуется на самой кнопки) font - название шрифта (Точнее его переменной.)
Для примера даю пример несколько функций:
Код:
Draw_Button(X+140,Y+2,80,15,exit_x,1,1,"Выход",pDevice,font,1);//Кнопка
DrawBorder(X+140,Y+2,80,15,2,D3DCOLOR_ARGB(255,255,0,0),pDevice);//Обводка кнопки (Толстой красной линией)
Draw_Button(X+250,Y+2,100,15,hide_menu,1,1,"Свернуть меню",pDevice,font,1);//Кнопка
DrawBorder(X+250,Y+2,100,15,2,D3DCOLOR_ARGB(255,255,0,0),pDevice);//Обводка кнопки (Толстой красной линией)
Draw_Button(X+170,Y+30,125,15,Avtor,1,1,">>> Avtor <<<",Escape,font,1);//Кнопка
DrawBorder(X+170,Y+30,125,15,2,D3DCOLOR_ARGB(255,255,0,0),pDevice);//Обводка кнопки (Толстой красной линией)
if(hide_menu){hide_menu=0; SHOW=false;}
if(exit_x){ ExitProcess(0); }
if(Avtor){Avtor=0; system("start http://zhyk.ru/forum/member.php?u=488968");}
SHOW если у вас исходник Трололо2 или ему подобное (точнее его переделки), то вместо SHOW пишите Mvisible
Это дает эффект нажатия на кнопку INSERT (или любой другой, но которую установлено прорисовка меню.)
Нужно будет вынести эту переменную вне файла "cMenu.cpp" (если Трололо2),т.е нужно будет вынести переменную SHOW или Mvisible в любой файл *.h и который подключен к файлу, в котором прописано управление меню и в котором будет эта функция. D3DCOLOR_ARGB(255,255,0,0) - цвет линии АРГБ
▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀
p.p.p.s Для многих это покажется сложной задачей (самим все это сделать), но прошу - если не получается с первого раза, вы это повторите несколько раз, посидите над своей проблемой сами. А потом уже бегите писать комментарий или мне в аську.
Для каждого объяснять индивидуально не буду.
Вот и все, с вами был overlord_10
________________
Последний раз редактировалось Skilful; 09.02.2012 в 18:16.
Просто..боксы как бы приватные...и выкладивать их в паблик ОЧЕНЬ плохая идея!
Но раз выложил то вопрос тебе!Я попробовал вставить функции, обычный ВХ, все получилось, НО функция включается и НЕ выключается, что скажеш?
Я попробовал вставить функции, обычный ВХ, все получилось, НО функция включается и НЕ выключается, что скажеш?
Но так надо будет изменить кое что, вот например у тебя такой бокс:
Код:
Draw_Button(X,Y,80,15,exit_x,1,1,"Выход",pDevice,font,1); //-- Эта кнопка активирует функцию
А вот для деактивации (или вернуть статус активации назад)
Код:
Draw_Button(X,Y,80,15,exit_x,1,0,"Выход",pDevice,font,1); //-- Эта кнопка выключает функцию (или возвращает статус назад)
Посмотри на выделенный участок, думаю ты понял, что если ставить там 0,то кнопка будет возвращать или выключать, а если 1, то будет увеличивать или увеличивать статус.
Я попробовал вставить функции, обычный ВХ, все получилось, НО функция включается и НЕ выключается, что скажеш?
Но так надо будет изменить кое что, вот например у тебя такой бокс:
Код:
Draw_Button(X,Y,80,15,exit_x,1,1,"Выход",pDevice,font,1); //-- Эта кнопка активирует функцию
А вот для деактивации (или вернуть статус активации назад)
Код:
Draw_Button(X,Y,80,15,exit_x,1,0,"Выход",pDevice,font,1); //-- Эта кнопка выключает функцию (или возвращает статус назад)
Посмотри на выделенный участок, думаю ты понял, что если ставить там 0,то кнопка будет возвращать или выключать, а если 1, то будет увеличивать или увеличивать статус.
Поблагодарили 4,294,967,294 раз(а) в 26 сообщениях
Re: ~~~~~Делаем BOX кнопки в WH~~~~~>
Нард вот такая штука DrawBox(X+1,MC_MSY+1,WIDTH+1,(NO*I_SPC)+1,RED, BLUE, pDevice)
все в ней понятно и ширина и высота не ясно только как сделать обводку толще где обводка это BLUE,RED,это фон может кто подскажет
Добавлено через 10 часов 6 минут
Я наверное слишком сложный вопрос задал))) че никто не знает?
Последний раз редактировалось **MANAX**; 12.02.2012 в 14:48.
Причина: Добавлено сообщение
Нард вот такая штука DrawBox(X+1,MC_MSY+1,WIDTH+1,(NO*I_SPC)+1,RED, BLUE, pDevice)
все в ней понятно и ширина и высота не ясно только как сделать обводку толще где обводка это BLUE,RED,это фон может кто подскажет
Добавлено через 10 часов 6 минут
Я наверное слишком сложный вопрос задал))) че никто не знает?
нет конечно он не сложный просто не видел.
Где ты этот код взял? как так может быть два цвета??
P.s
DrawBorder(x,y,sirina,visota,tolshina,color,pDevic e)
в данном случае получается.
DrawBorder(X+1,MC_MSY+1,WIDTH+1,(NO*I_SPC)+1,1,RED ,pDevice)