본문 바로가기
  • ^ __________ ^ ㄷ ㅜ ㄹ ㅜ ㅁ ㅜ ㄹ
TechTree(IT|Dev|SW)/C | C++ | VC++

How To Cumstom K-SkinWindow(#Win32,#MFC)

by DURUMUL 2026. 3. 15.

Visit me!! https://url.kr/2egfcn

VS2022
kxSkin-2026.zip
16.31MB
Sample Demo

Add Button Event

skin map
#----------------------------------------------------------------------------
# DYNAMIC SKIN MAP SYSTEM CONFIGURATION & SCRIPT FILE.
# version :1.0 (2007~2026)
# file:main_bg.skn
# imagefile = main_bg.png
http://krkim.net https://durumul.com (South Korea)
# author: Kyung Rae Kim(KRKIM) mailto://durumul@gmail.com
#-----------------------------------------------------------------------------

# Tag Help
# --------
# RGN : 
#      Specify coordinates (left,top,right,bottom) on source image.
#      The RIGHT and BOTTOM must be to plus one to real own coordinates.
#      e.g) If coordinate of RIGHT is 200,in this case specify as 201.
# MASKCOLOR,MASKCOLOR,RGNMASKCOLOR :
#      Specify region color if you need to effect various window shape.
# TRANSCOLOR :
#      Specify whether specified color is for transparent drawing.
# POSITION :
#      Specify coordinates on target device context.
#      left:<X coordinate> top:<Y coordinate> width:<width> height:<height>
#      you can specify percentage value for WIDTH and HEIGHT.eg) 100%
#      The window object available as following,
#      window.left   : the left coordinate on a window client rect.
#      window.top    : the top coordinate on a window client rect.
#      window.right  : the right coordinate on a window client rect.
#      window.bottom : the bottom coordinate on a window client rect.
#      window.width  : the width of a window client rect.
#      window.height : the height of a window client rect.
#      these predefined keyword are must have specified precedence over numeric.
# TYPE : 
#      in MAP Tag,specify "CTRL" or "CONTROL" for a control map.
#      in MD Tag,specify control type, "BUTTON" only supported on now.
# FONT : <FONT NAME="" SIZE="12" COLOR="#FFFFFF" STYLE="bold:underline:italic">

#<SKININFO>
# SKIN_ACTIVE   = main_bg_active
# SKIN DEACTIVE = main_bg_active
# SKIN_SELECTED = main_bg_active
# SKIN_FOCUS    = main_bg_active
# SKIN_DISABLE  = main_bg_disable
#</SKININFO>

<VERSION>1.0</VERSION>
<SKINMAP ID ="non-titlebar" NAME = "main_bg_active">
<MAP ID = "ACTIVEMAP" TYPE="MAP" NAME="main_bg_active" IMAGE="main_bg.png" ACTION = "OnActive">
  <CAPTION POSITION="left:2 top:2 right:window.right-2 bottom:22"></CAPTION>
  <CLIENT  POSITION="left:3 top:23 right:window.right-3 bottom:window.bottom-2"></CLIENT>
  <MR HEIGHT=150 IMAGE="alerttray.png">
   <MD POSITION="left:0 top:0 width:200 height:150" IMAGE="alerttray.png">
   <RGN POSITION="left:0 top:0 right:200 bottom:150"      MASKCOLOR="#FF00FF" RGNDATA="1.rgn" TRANSCOLOR="#FF00FF"></RGN></MD>
   <MD POSITION="left:200 top:0 width:100% height:150">
   <RGN POSITION="left:200 top:0 right:201 bottom:150"    MASKCOLOR="#FF00FF" RGNDATA="1.rgn"></RGN></MD>
   <MD POSITION="left:window.right-200 top:0 width:200 height:150">
   <RGN POSITION="left:600 top:0 right:800 bottom:150"    MASKCOLOR="#FF00FF" RGNDATA="1.rgn"></RGN></MD>
  </MR>
  <MR HEIGHT=100%>
   <MD POSITION="left:0  top:150 width:200 height:window.height-300">
   <RGN POSITION="left:0 top:150 right:200 bottom:160"      MASKCOLOR="#FF00FF" RGNDATA="1.rgn"></RGN></MD>
   <MD POSITION="left:200 top:150 width:100% height:100%">
   <RGN POSITION="left:200 top:150 right:201 bottom:151"    MASKCOLOR="#FF00FF" RGNDATA="1.rgn"></RGN></MD>
<MD POSITION="left:window.right-200 width:200 height:100%">
   <RGN POSITION="left:600 top:150 right:800 bottom:160"  MASKCOLOR="#FF00FF" RGNDATA="1.rgn"></RGN></MD>
  </MR>
  <MR HEIGHT=150>
   <MD POSITION="left:0 top:window.bottom-150 width:200 height:150">
   <RGN POSITION="left:0 top:450 right:200 bottom:600"   MASKCOLOR="#FF00FF" RGNDATA="1.rgn"></RGN></MD>
   </MD>
   <MD POSITION="left:200 top:window.bottom-150 width:100% height:150">
   <RGN POSITION="left:200 top:450 right:201 bottom:600" MASKCOLOR="#FF00FF" RGNDATA="1.rgn"></RGN></MD>
   <MD POSITION="left:window.right-200 top:window.bottom-150 width:200 height:150">
   <RGN POSITION="left:600 top:450 right:800 bottom:600" MASKCOLOR="#FF00FF" RGNDATA="1.rgn"></RGN></MD>
  </MR>
</MAP>
<MAP ID="ACTIVECTRL" TYPE="CTRL" NAME="main_bg_sysctrls" IMAGE="main_bg_sysctrls.png" ACTION = "OnActive">
  <MR>
   <MD POSITION="left:120 top:5" IMAGE="">
   <FONT NAME="" SIZE="12" COLOR="#FFFFFF" STYLE="bold:underline"></FONT>
   <CTRL TYPE = "LABEL" ID="1000" ALT="예맥 스킨시스템 라이브러리" VALUE="파노라마 스킨시스템"></CTRL>
   </MD>
   <MD POSITION="left:window.right-100 top:8" IMAGE="">
   <RGN POSITION="left:22 top:0 width:22 height:18" MASKCOLOR="#FF00FF"></RGN>
   <CTRL TYPE = "BUTTON" ID="1001" ALT="최소화버튼"></CTRL> 
   </MD>
   <MD POSITION="left:window.right-50 top:8">
   <RGN POSITION="left:22 top:18 width:22 height:18" MASKCOLOR="#FF00FF"></RGN>
   <CTRL TYPE = "BUTTON" ID="1002" ALT="Tooltip"></CTRL> 
   </MD>
  </MR>
</MAP>
<MAP ID="FOCUSCTRL" TYPE="CTRL" NAME="main_bg_sysctrls" IMAGE="main_bg_sysctrls.png" ACTION = "OnFocus">
  <MR>
   <MD POSITION="left:window.right-100 top:8" IMAGE="">
   <RGN POSITION="left:44 top:0 width:22 height:18" MASKCOLOR="#FF00FF"></RGN>
   <CTRL TYPE = "BUTTON" ID="1001" ALT="최소화버튼"></CTRL> 
   </MD>
   <MD POSITION="left:window.right-50 top:8">
   <RGN POSITION="left:44 top:18 width:22 height:18" MASKCOLOR="#FF00FF"></RGN>
   <CTRL TYPE = "BUTTON" ID="1002" ALT="Tooltip"></CTRL> 
   </MD>
  </MR>
</MAP>
</SKINMAP>

제시해주신 "이 코드가 도움이 되었다면 여기에 기부하세요! (If This code helped you, donate here!)"라는 문구는 오픈 소스 프로젝트나 무료 소프트웨어를 배포할 때 개발자들이 감사의 표시로 후원을 요청하기 위해 자주 사용하는 표현입니다.
If This code helped you,donate here!!!