Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для bezumes

Пользователь


Сообщения: 68
Благодарности: 1

Профиль | Отправить PM | Цитировать


сделал так
Код: Выделить весь код
         OnPaint();
	CDC *pDC=GetDC();	
	CImage img;
	CDC dcm;
	dcm.CreateCompatibleDC(NULL);
	if(FileExt==CString("bmp"))
	{
	bm.Attach(LoadImage(0, CString(FileName),IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE));
	bm.GetObject(sizeof(BITMAP), &bmp);
	GetClientRect(&Rect);
	// Перетаскиваю битмап на окно c маштабированием
	dcm.SelectObject(&bm);
	dcm.DrawState(CPoint(0,0),
			CSize(bmp.bmWidth,bmp.bmHeight),bm, DST_BITMAP);	
	pDC->StretchBlt(0,-scpos_y,Rect.right*uve_x, (Rect.bottom-scpos_y)*uve_y, &dcm,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
	bm.DeleteObject();	
	}
	else
	if(FileExt==CString("jpg"))
	{
		GetClientRect(&Rect);
		img.Load(FileName);
		HDC hdc;
	// Получаю контекст устройства.
		hdc=0;
	hdc = pDC->GetSafeHdc();
	// Показываю jpg-файл.
	if(hdc!=0){		
		dcm.SelectObject(&img);
		dcm.DrawState(CPoint(0,0),
			CSize(img.GetWidth(),img.GetHeight()),img, DST_BITMAP);		
		img.StretchBlt(hdc,0,-scpos_y,Rect.right*uve_x,(Rect.bottom-scpos_y)*uve_y,SRCCOPY);
	}
		img.Destroy();
	}
	else
	{	
		if(FileExt!=_T(""))
		MessageBox(_T("Неверный формат файлов, надо bmp  или jpg "));
		FileExt=_T("");
	}
проблема мерцания исчезла но вот это
Цитата:
И к тому же при передвижении картинки нужно как-то сделать, что бы при подходе к границе картинки дальше её нельзя было двигить?
я не знаю как сделать

-------
Ты говоришь я Демон, так и есть.
Со мною не видать тебе удачи.
Навеки моё дело зло и месть.
Для демона не может быть иначе.(с) КиШ


Отправлено: 16:52, 24-01-2007 | #2