2010-06-09 6 views
0

아래 코드는 대화 상자에 비트 맵 버튼을 표시해야합니다.비트 맵 버튼이 3D 스타일로 표시되지 않습니다.

CImage image; 
hr = image.Load(_T("myimage.png")); // just change extension to load jpg 
bitmap.Attach(image.Detach()); 
m_button.ModifyStyle(0,BS_BITMAP); 
m_button.SetBitmap(bitmap); 

버튼에 이미지가 포함되어 있습니다. 그러나 원하는 3-D 스타일보다는 2-D에만 있습니다. 소유자 그려진 속성을 false로 설정했지만이 동작은 변경되지 않았습니다.

위의 코드를 잘못 본 사람이 있습니까? 당신이 CMFCButton

  • 사용하는 경우 m_button
  • 의 유형을 올바르게 비주얼 스타일 관리자를 초기화하는 무엇

  • 답변

    0
    • 는 리소스 편집기에서 버튼의 정확한 스타일을 설정 되세요 (3D)
    • 런타임에 버튼을 만드는 경우 Create() 호출을 게시하십시오.
    1

    동일한 문제가있었습니다. 리소스 디자이너 미리보기에서 올바르게 렌더링되었습니다. 그러나 나중에 런타임에 클래식 스타일의 버튼으로 렌더링되었으므로 3D가 아니라 프레임이있는 2D를 의미합니다.

    해결 방법은 나를위한 것입니다. 내 대화 상자에서 OnInitDialog() 메서드를 그냥 다음 줄을 추가하고 매력처럼 작동했다 :

    CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows)); 
    
    관련 문제