MFC질문드립니다.
지희
2024.10.22
view 클래스에 onDraw함수에서배열에 .raw파일 이미지를 읽어서 ::StretchDIBits함수를 이용해 화면에 이미지를 출력하고 있습니다. 그 이미지 옆에 히스토그램 그래프를 출력하려는데.. onPaint함수 추가해서 moveTo LineTo를 이용해 그릴려구하는데 Onpaint함수만 추가하면 이미지가 보이질 않네요..onpaint함수 추가하면 ondraw함수는 안불리나요?;;
어떻게해야 출력할수 있을지.....조언좀부탁드립니다.
-
윤슬이뿌잉 2024-10-22
저도 정확한지는 잘 모르겠지만 테스트해보세요.. onDraw는 아마 repaint를 안하는 걸로 아는데...
onPaint가 호출되면 화면을 다시 그리는데 onDraw가 다시 호출되지 않으니깐 이미지는 사라져버리는것같네요. -
민아 2024-10-22
정확한건 아닙니다. 먼저, 호출이 되고 안되고는 당연한 얘기겠지만, onpaint 함수에 브레이크 포인터를 ondraw 함수에 브레이크를 걸어서 디버깅해보시면 아실거에요. 제기억으로는 둘다 호출됩니다.
onpaint에 비해 ondraw가 view에서 화면드로잉시 보다 빠르게(효율적으로) 드로잉 되도록 구현된걸로 알고 있습니다.