Study Memos/Windows Programming (66) 썸네일형 리스트형 프로그램 종료 (Section 59) 참고> blog.naver.com/tipsware/221142249954 1. 대화 상자가 닫히기 전에 메인 윈도우를 닫으면 문제가 생김. 대화 상자를 먼저 닫고 프로그램을 종료시키는 게 좋음. 대화상자 (Section 58) 참고> blog.naver.com/tipsware/221142049648 1. 윈도우즈용 프로그램은 GUI 환경을 제공하기 때문에 여러가지 그림이나 아이콘, 커서, 메뉴, 툴바, 대화상자와 같은 것들을 추가적으로 사용함. -> 응용 프로그램의 리소스(Resource) 2. 프로그램 리소스 : 그림 파일을 프로그램 실행 파일(프로세스) 내에 포함시키고 소스에서 이 그림을 바로 사용할 수 있는 리소스 3. Windows 데스크톱 응용 프로그램으로 프로젝트를 생성할 경우 IDD_ABOUTBOX라는 대화상자가 존재함 별 그리기 (Section 57) 참고> blog.naver.com/tipsware/221141207152 1. SetTransform이 Direct2D에 적용되면 다음번 그리기에도 영향을 미침 -> OnPaint 함수가 다시 실행될 때 이전에 사용했던 SetTransform 설정이 FillRectangle 함수에 영향을 주기 때문 ->SetTransform을 안전하게 사용하려면 SetTransnform을 호출하기 이전의 정보를 저장했다가 복구하는 코드를 넣어주어야 함. 최상위 윈도우 (Section 56) 참고> blog.naver.com/tipsware/221005962058 1. 윈도우를 최상위로 설정하려면 WS_EX_TOPMOST 속성을 윈도우 생성할 때 적용하거나 (CreateWindowEx 함수) 이미 만들어진 윈도우에 SetWindowPos 함수를 이용하여 최상위 윈도우 속성을 부여하면 됨 2. 다른 프로그램을 최상위 윈도우로 만드려면 1) FindWindow 함수로 해당 프로그램의 윈도우를 찾아냄 2) SetWindowPos 함수로 HWND_TOPMOST 속성을 부여 타원 모양의 윈도우 만들기 (Section 55) 참고>blog.naver.com/tipsware/221139737602 1.SetWindowRgn 함수 : 윈도우를 특정 다각형 모양으로 변경하는 함수 -> 모양 변경 시 보기 안좋은 캡션과 테두리를 없애려면 윈도우를 Create할 때 TW_Wnd 파라미터로 WS_OVERLAPPEDWINDOW 속성 대신 WS_POPUP | WS_VISIBLE 속성을 사용해야 함. Radial Gradient (Section 53) 참고> blog.naver.com/tipsware/221136246687 1. Radial Gradient : Linear Gradient와 달리 타원형으로 색상을 채우는 방식 2. ID2D1RadialGradientBrush 클래스를 사용 Linear Gradient (Section 52) 참고> blog.naver.com/tipsware/221136157326 1.Graident Brush : Direct2D에서 도형을 그릴 때 도형 내부를 Gradient 효과로 채울 수 있는 Brush -> 매번 그릴 때마다 만들어서 사용하는 것보다 프로그램이 시작할 때 만들어놓고 계속 사용하는 것이 좋음 2. GradientStopCollection : Linear Gradient Brush 객체를 생성하기 위한 클래스 -> Gradient 를 어느 지점에서 어떻게 적용할지를 저장 3. LinearGradientBrush 생성 후에는 GradientStopCollection 제거해도 됨 Gaussian Blur (Section 50, 51) 참고> blog.naver.com/tipsware/221133869588 blog.naver.com/tipsware/221134717234 1.Gaussian Blur 효과: 점점 뿌옇게 되는 효과 2. 기본 Render Target을 사용해서는 Direct2D의 다양한 효과를 적용할 수 없음. -> Direct3D 용 장치 객체를 생성하고 DXGI 객체를 이용하여 Direct2D에서 사용 가능한 장치와 DC를 구성해야 함. 3. Gaussian Blur 효과를 사용하려면 ID2D1Effect 인터페이스 객체를 선언해야 함. -> 이후 DC의 CreateEffect 함수 호출, 파라미터는 CLSID_D2D1GaussainBlur 타입을 넣어주면 됨. -> ID2D1Effect 객체의 SetInput 함수.. 이전 1 2 3 4 5 6 7 ··· 9 다음