вот код, который этот код предназначен для поддержания соотношения сторон изображения, с которым он падает, когда элемент управления переходит к int WindowRatio = WidthOfPreviewPane/HeightOfPreviewPane; может кто-нибудь дать идею, почему ???соотношение сторон изображения сбой программы
int WidthOfPreviewPane = RECTWIDTH(m_rcParent);
int HeightOfPreviewPane = RECTHEIGHT(m_rcParent) ;
int ImageRatio = WidthOfImage/HeightOfImage;
int WindowRatio = WidthOfPreviewPane/HeightOfPreviewPane;
if (WindowRatio > ImageRatio && WidthOfPreviewPane< WidthOfImage)
{
m_iFinalHeight = HeightOfPreviewPane;
m_iFinalWidth = m_iFinalHeight * ImageRatio;
MessageBox(NULL, L"1",L"Error",
MB_ICONERROR | MB_OK);
}
else if (WindowRatio < ImageRatio && WidthOfPreviewPane< WidthOfImage)
{
m_iFinalWidth = WidthOfPreviewPane;
m_iFinalHeight = m_iFinalWidth/ImageRatio;
MessageBox(NULL, L"2",L"Error",
MB_ICONERROR | MB_OK);
}
else if(WindowRatio > ImageRatio && WidthOfPreviewPane> WidthOfImage)
{
m_iFinalHeight = HeightOfImage;
m_iFinalWidth = WidthOfImage;
MessageBox(NULL, L"3",L"Error",
MB_ICONERROR | MB_OK);
}
else if(WindowRatio < ImageRatio && WidthOfPreviewPane> WidthOfImage)
{
m_iFinalHeight = HeightOfImage;
m_iFinalWidth = WidthOfImage;
MessageBox(NULL, L"4",L"Error",
MB_ICONERROR | MB_OK);
}
Предполагая, что окна? Вы пытались запустить код в отладчике? Является ли окно (m_rcParent) видимым, в противном случае размер равен 0, вызывающий devisionbyzero – dmaij
, чтобы узнать, что такое значение 'HeightOfPreviewPane' перед запуском проблемной строки. –
-' HeightOfPreviewPane' '0'? Проверь это. –