Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2011, 09:33   #1
Mehanizator
Пользователь
 
Регистрация: 11.08.2011
Сообщений: 24
По умолчанию Замена линий, используя кнопки мыши

Мне нужно сделать так, что бы при нажатии левой кнопки мыши запоминалась координата полоски, а при отпускании левой кнопки мыши, полоска переместилась туда, где мышь была отпущена, соответственно, полоска, на которой мышь была отпущена, перемещается туда, где мышь была нажата.
вот мой код:
Код:
int happy(koordinata * ra, int p1, int p2){
koordinata buf;
koordinata bu;
buf.y01=ra[p1].y01;
ra[p1].y01=ra[p2].y01;
ra[p2].y01=buf.y01;
bu.y01=ra[p2].y01;
ra[p2].y01=ra[p1].y01;
ra[p1].y01=bu.y01;
ra[p1].y2=ra[p1].y01-30;
ra[p2].y2=ra[p2].y01-30;
return(ra[p2].y01);//координата y01 у второй полосы
return(ra[p1].y01);//координата y01 у первой полосы
return(ra[p1].y2);
return(ra[p2].y2);
}
void OnButtonDown(HWND hwnd,UINT message,short x, short y, WPARAM wParam){
		massiv[0].x1=100;
	  	massiv[0].y01=400;
	  	massiv[0].x2=600;
	  	massiv[0].y2=360;
	  	massiv[1].x1=100;
	  	massiv[1].y01=360;
	  	massiv[1].x2=600;
	  	massiv[1].y2=320;
	  	massiv[2].x1=100;
	  	massiv[2].y01=320;
	  	massiv[2].x2=600;
	  	massiv[2].y2=280;
	  	massiv[3].x1=100;
	  	massiv[3].y01=280;
	  	massiv[3].x2=600;
	  	massiv[3].y2=240;
	  	massiv[4].x1=100;
	  	massiv[4].y01=240;
	  	massiv[4].x2=600;
	  	massiv[4].y2=200;
	  	massiv[5].x1=100;
	  	massiv[5].y01=200;
	  	massiv[5].x2=600;
	  	massiv[5].y2=160;
	  	massiv[6].x1=100;
	  	massiv[6].y01=160;
	  	massiv[6].x2=600;
	  	massiv[6].y2=120;
	  	massiv[7].x1=100;
	  	massiv[7].y01=120;
	  	massiv[7].x2=600;
	  	massiv[7].y2=80;
	  	massiv[8].x1=100;
	    massiv[8].y01=80;
	  	massiv[8].x2=600;
	  	massiv[8].y2=40;
	  	for(q=0; q<n; q++){
  	if(x>massiv[q].x1 && x<massiv[q]. x2 && y<massiv[q].y01 && y>massiv[q].y2)
k=q;
	  	}

  			}
void OnButtonUp(HWND hwnd,short x, short y, WPARAM wParam){
	massiv[0].x1=100;
	  	massiv[0].y01=400;
	  	massiv[0].x2=600;
	  	massiv[0].y2=360;
	  	massiv[1].x1=100;
	  	massiv[1].y01=360;
	  	massiv[1].x2=600;
	  	massiv[1].y2=320;
	  	massiv[2].x1=100;
	  	massiv[2].y01=320;
	  	massiv[2].x2=600;
	  	massiv[2].y2=280;
	  	massiv[3].x1=100;
	  	massiv[3].y01=280;
	  	massiv[3].x2=600;
	  	massiv[3].y2=240;
	  	massiv[4].x1=100;
	  	massiv[4].y01=240;
	  	massiv[4].x2=600;
	  	massiv[4].y2=200;
	  	massiv[5].x1=100;
	  	massiv[5].y01=200;
	  	massiv[5].x2=600;
	  	massiv[5].y2=160;
	  	massiv[6].x1=100;
	  	massiv[6].y01=160;
	  	massiv[6].x2=600;
	  	massiv[6].y2=120;
	  	massiv[7].x1=100;
	  	massiv[7].y01=120;
	  	massiv[7].x2=600;
	  	massiv[7].y2=80;
	  	massiv[8].x1=100;
	    massiv[8].y01=80;
	  	massiv[8].x2=600;
	  	massiv[8].y2=40;
	  	for(qq=0; qq<n; qq++){
		if(x>massiv[qq].x1 && x<massiv[qq]. x2 && y<massiv[qq].y01 && y>massiv[qq].y2){
happy(massiv, k, qq);
InvalidateRect(hwnd,NULL,FALSE);
	  	}
	  	}

}
Mehanizator вне форума Ответить с цитированием
Старый 24.08.2011, 12:49   #2
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Код:
return(ra[p2].y01);//координата y01 у второй полосы
return(ra[p1].y01);//координата y01 у первой полосы
return(ra[p1].y2);
return(ra[p2].y2);
а это что за жуть ?
An1ka вне форума Ответить с цитированием
Старый 24.08.2011, 12:59   #3
Mehanizator
Пользователь
 
Регистрация: 11.08.2011
Сообщений: 24
По умолчанию

ну мы же передаем в функцию номера линий, значит она должна возвращать новые значения координат.Она должна быть такой?
Код:
void happy(koordinata * ra, int p1, int p2){
koordinata buf;
koordinata bu;
buf.y01=ra[p1].y01;
ra[p1].y01=ra[p2].y01;
ra[p2].y01=buf.y01;
bu.y01=ra[p2].y01;
ra[p2].y01=ra[p1].y01;
ra[p1].y01=bu.y01;
ra[p1].y2=ra[p1].y01-40;
ra[p2].y2=ra[p2].y01-40;
Mehanizator вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нажатие кнопки мыши в чужом окне gufon Общие вопросы Delphi 2 29.06.2011 21:03
Событие для правой кнопки мыши MyLastHit Общие вопросы Delphi 4 30.08.2010 17:04
событие при нажатии кнопки мыши за формой Izlom Помощь студентам 4 21.07.2010 16:02
нажатие левой кнопки мыши beygul Помощь студентам 6 13.05.2010 20:04
Симуляция нажатия кнопки мыши в VS С2008 atlon Общие вопросы C/C++ 11 06.02.2009 16:16