Visual C++에서 Window (win32 API) 응용 프로그램이 있습니다. 나는 MFC를 사용하지 않는다. 비트 맵 이미지로 원형/원형 버튼을 만들어야합니다. 내 응용 프로그램은 skined view를 가지고 있습니다. 어느 누구도이 작업을 수행하는 데 나를 도울 수 있습니까? 미리 감사드립니다.Visual C++을 사용하여 win32 API에서 원형/원형 버튼을 만드는 방법
답변
메모리 DC 및 다양한 ROP2 설정을 사용하여 BitBlting 이미지 기술을 찾아 마스킹 효과를 얻을 수 있습니다. 버튼을 나타내는 둥근 이미지는 투명도를 나타 내기 위해 특정 색상을 사용합니다. 나는 특정한 코드를 가지고 있지는 않지만 사소한 것은 아니다.
버튼은 창입니다.
-http : 당신은 CreateWindow 함수 또는 CreateWindowEx 함수 호출로 버튼을 만들 수 있습니다 .aspx로 //msdn.microsoft.com/en-us/library/ms632680 (VS.85)를
당신은 당신의 버튼을 만들 때
-http : //msdn.microsoft.com/en-us/library/bb775951 (VS.85)
를 .aspx로 WM_DRAWITEM을 보낼 수있는 버튼을 말할 것이다 창은 BS_OWNDERDRAW 스타일을 통과 할 수 있도록 버튼에 메시지 보내기 'WNDPROC :-http : //msdn.microsoft.com/en-us/l (W = VS.85) .aspx
단추의 WNDPROC에서 lParam의 포인터로받은 DRAWITEMSTRUCT의 정보에 따라 WM_DRAWITEM 메시지를 처리하고 단추를 칠합니다.
비트 맵을 직사각형 이외의 것으로 렌더링하려면 단추에 렌더링 할 비트 맵과 동일한 크기의 1 비트 비트 마스크 비트 맵을 제공해야합니다. 비트 마스크에는 버튼 비트 맵의 픽셀을 화면에 설정하려는 비트가 설정되어 있습니다. 단추 비트 맵에서 표시되지 않는 픽셀은 검정 일 필요가 있습니다. Bitmask 비트 맵을 AND 연산자와 OR 버튼을 사용하여 화면에 비트 블릿하십시오. 물론 다양한 버튼 상태를 고려해야합니다 (일반적으로 푸시 버튼은 두 가지 상태에 불과합니다).
위의 설명에서 흑백 또는 설정/해제 비트가 혼합되어있을 수 있지만 AND/OR 비트 단위 (SRCAND/SRCPAINT) 래스터 연산은 획득하려는 작업에 대한 올바른 연산입니다.
-http : //msdn.microsoft.com/en-us/library/aa930997.aspx
희망하는 데 도움이됩니다.
중요한 API 호출은 SetWindowRgn
입니다. 이것은 윈도우가 직사각형이 아니라 불규칙한 영역이라는 것을 윈도우에 알리기 위해 호출하는 것입니다. 만약 당신이 주위에 구글, 당신은 예제 코드를 많이 찾을 수 있습니다. 예 : this project MFC에 의존하지만 원하는 효과를 얻기 위해 어떤 순서로 호출해야 하는지를 배우기 위해 사용할 수 있습니다.
- 1. win32 API에서 스킨에 컨트롤을 추가하는 방법
- 2. Win API에서 최신 메뉴를 만드는 방법?
- 3. Win32 API를 사용하여 여러 개의 윈도우를 만드는 방법
- 4. Win32 API에서 제공하는 데이터 구조는 무엇입니까?
- 5. 공유 버튼을 Hi5로 만드는 방법
- 6. 이미지가있는 라디오 버튼을 만드는 방법
- 7. Windows에서 응용 프로그램을 실행하는 방법은 Visual C++를 사용하여 win32 API에서 시작합니다.
- 8. ListView win32 API에서 선택된 항목 가져 오기
- 9. C에서 삼각형 버튼을 만드는 방법 #
- 10. Excel에서 동적 버튼을 만드는 방법
- 11. Win32 API를 사용하여 VC++로 타원형 창을 만드는 방법
- 12. 액션 스크립트를 사용하여 웹 양식에 버튼을 만드는 방법
- 13. Android지도 API에서 위의 canvas.drawLine을 표시하도록 오버레이를 만드는 방법
- 14. C/C을 찾고 ++ 언어와 표준 라이브러리 사양
- 15. iphone에서 uinavigationbar에 정보 버튼을 만드는 방법
- 16. C++에서 아이콘 버튼을 만드는 방법
- 17. SWT : 액션에서 일반 푸시 버튼을 만드는 방법
- 18. iPhone 드롭 다운 보이기 버튼을 만드는 방법
- 19. iphone에서 프로그래밍 방식으로 버튼을 만드는 방법
- 20. mp3를 재생하는 버튼을 만드는 방법 tts
- 21. 안드로이드에서 스크롤 가능한 버튼을 만드는 방법
- 22. C# asp.net에서 다운로드 버튼을 만드는 방법? 쿼리?
- 23. 버튼을 만드는 루프
- 24. CSS로 + 버튼을 만드는 방법은 무엇입니까?
- 25. Win32 API에서 스레드 로컬 저장소를 동적으로 해제하는 방법이 있습니까?
- 26. Win32 API에서`A`와`W` 함수의 차이점은 무엇입니까?
- 27. C Win32 API에서 텍스트 업데이트 WS_EX_TRANSPARENT로 그려지는 정적 컨트롤
- 28. 아이폰에리스트 버튼을 만드는 방법은?
- 29. Crystal 보고서를 사용하여 동적 보고서를 만드는 방법 - Visual Studio 2008?
- 30. Visual Studio 2008을 사용하여 자동 설치 프로그램 패키지를 만드는 방법
더 새로운 것이 정확한 복제본으로 마감되었습니다. 이것은 속임수 이유 때문에 닫히지 않아야합니다. –
라비, 주 창문이 껍질이 벗겨진 창이라고 말하고 있습니까? 이것은 둥근 버튼을 그리는 것과 어떻게 관련이 있습니까? – AlanKley