C++/MFC 윈도우 다크모드 적용 해보신분요
넘실이

Lv.1 넘실이 (124.♡.63.42)

2024년 6월 18일 AM 08:30 · 수정됨(06. 23. 10:19)

조회 827 공감 0

제가 다크모드를 mfc에 적용해볼라고 이것저것 알아봤는데요

아무리 해도 xml적용해서 하는거는 안되더라구요

그래서 깃허브에 하나 있길레 봤더니

https://github.com/ysc3839/win32-darkmode

이게 있는데 5년전거더라구요

근데 notepad++이거 오픈소스 보니까 저거 사용하더라구요

소스분석을 해보니까 notepad++ 전용으로 만들어서 제가 적용하기는 좀 어렵더라구요


혹시 모든 컨트롤을 다크모드 적용하는 일관된 방법없을까요?

하나하나 내가 그려주는거는 아닌거 같아서요


제가 이정도 까지는 해봤는데 저는 툴바나 메뉴같은거 다 적용하고 싶거든요

댓글 (6)

  • 에놀미타

    에놀미타 Lv.1

    24.06.18 · 220.♡.243.102

    Windows 11 23H2 22631에서 FixDarkScrollBar() 내의 OpenNcThemeData odinal을 찾을 수 없었습니다.
    방법이 없는 건 아닌데 역시 undocumented api는 리스크 감수하고 써야 해서 추천 할 수 없겠네요
    메뉴는 원래 다크모드 가능하고 툴바는 MFC Feature Pack 테마 쓰면 되긴 합니다만 코딩량이 제법 됩니다.
    위의 UI정도는 ImGui 같은 즉시모드 + DwmApi 써도 될 것 같습니다.
  • 넘실이

    넘실이 Lv.1 → 에놀미타 작성자

    24.06.18 · 124.♡.63.42

    감사합니다 추천항목 알아볼게요
  • 깁뿔

    깁뿔 Lv.1

    24.06.21 · 121.♡.142.174

    저도 다크모드 때문에 고민했었는데, 간만에 예전 테스트 코드 찾아보고 notepad++ 소스도 봤는데 상황은 여전히 나아지지 않았네요.
    현재까지의 결론은 모든 컨트롤에 대해서(메뉴,버튼, 콤보, ....) 각각 다크모드를 구현해야 한다.. 이네요.
    망할 MS
  • 넘실이

    넘실이 Lv.1 → 깁뿔 작성자

    24.06.21 · 218.♡.59.185

    저도mfc주로써서 상용라이브러리 아님답이없더라규요 ㅠㅡㅠ
  • 에놀미타

    에놀미타 Lv.1 → 깁뿔

    24.06.22 · 220.♡.243.102

    일주일에 컨트롤 하나 만든다고 치고 널널하게 해도 1년 내에 만들어 집니다.
    스펙 딱 정해 놓고 타이트하게 만들면 몇달이면 되죠
    win32_darkmode의 단점이 시스템 설정이 다크모드가 아니면 안된다는 것이어서 반쪽짜리 다크모드
  • 넘실이

    넘실이 Lv.1 → 에놀미타 작성자

    24.06.23 · 218.♡.59.185

    저는 라이트/다크 적용 잘되더라구요 실시간 변경도 잘되구요
    물론 커스텀 하긴했는데 큰차이는 없어요
    MFC버리고 모던UI이런거 해야하나봐요
    PS
    아까 파일복사하는데 이상해서 보니까 이거 다크모드여도 복사창은 적용안되어 있네요 ㅎ

댓글을 작성하려면 이 필요합니다.