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

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

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

Восстановить пароль
Повторная активизация e-mail

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

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

Как сделать с помощью область вырезки rcPaint замену 2ух выбранных прямоугольников?Вот часть моего кода, где идет замена прямоугольников:
Цитата:
void happy(koordinata *massiv, int p1, int p2){koordinata buf;
buf.y01=massiv[p1].y01;
massiv[p1].y01=massiv[p2].y01;
massiv[p2].y01=buf.y01;
}

void OnButtonDown(HWND hwnd,UINT message,short x, short y, WPARAM wParam){
for(t=0; t<n; t++){
if(x>massiv[t].x1 && x<massiv[t].x2 && y>massiv[t].y2 && y<massiv[t].y01){
p1=t;
x=0;
y=0;
}}
}
void OnButtonUp(HWND hwnd,short x, short y, WPARAM wParam){
PAINTSTRUCT ps;
for(t=0; t<n; t++){
if(x>massiv[t].x1 && x<massiv[t].x2 && y>massiv[t].y2 && y<massiv[t].y01){
p2=t;
happy(massiv, p1, p2);
x=0; y=0;
ps.rcPaint.left=massiv[p1].x1;
ps.rcPaint.top=massiv[p1].y01;
ps.rcPaint.right=massiv[p1].x2;
ps.rcPaint.bottom=massiv[p1].y2;
InvalidateRect(hwnd,&ps.rcPaint,TRU E);}}
}
Где p1 и p2 номера прямоугольников, которые нужно заменить. Но никакой перерисовки 2ух прямоугольников не происходит. Вместо этого происходит полная перерисовка изображения.
Mehanizator вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перерисовка ListBox bondik Общие вопросы .NET 2 03.11.2010 23:00
Перерисовка TlistBox DarkEN_ANGEL Компоненты Delphi 4 26.01.2010 23:04
Перерисовка PaintBox gusluk Мультимедиа в Delphi 5 26.01.2010 12:54
Перерисовка RichEdit SanekIrk Компоненты Delphi 9 15.09.2009 00:31
C#: перерисовка форми Natok Общие вопросы .NET 9 02.06.2009 20:03