µÎ ¹ø° ÆäÀÌÁöÀÎ º¸±â ÆäÀÌÁö´Â ÇÁ·Î±×·¥ÀÇ ´Ù¾çÇÑ ¸ð¾ç¿¡ ´ëÇÑ ¿É¼ÇÀ» °¡Áö°í ÀÖÀ¸¸ç ÀÌ ÆäÀÌÁö¸¦ ÅëÇØ »ç¿ëÀÚ°¡ ÆíÁý±â¸¦ ¿øÇÏ´Â ¸ð¾çÀ¸·Î Á÷Á¢ º¯°æÇÒ ¼ö ÀÖ´Ù.
¸¹Àº ¿É¼ÇµéÀÌ Àִµ¥ Åø¹Ù ¿É¼ÇÀ» Á¦¿ÜÇÏ°í´Â ¸ðµÎ ApiEdit ÄÁÆ®·ÑÀÇ ¿É¼ÇÀ̸ç Áö±Ý±îÁöÀÇ ½Ç½ÀÀ» ÅëÇØ ÀÌ¹Ì ÀÛ¼ºÇß´ø ±â´ÉµéÀÌ´Ù. ÀÌ ´ëÈ»óÀÚÀÇ ÇÁ·Î½ÃÀú´Â ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑ´Ù.
BOOL CALLBACK ViewDlgProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HWND hCon;
int i,idx;
int tint;
TCHAR szFace[32];
switch(iMessage)
{
case WM_INITDIALOG:
hCon=GetDlgItem(hDlg,IDC_LINEHEIGHT);
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"100");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"120");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"150");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"200");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"250");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"300");
hCon=GetDlgItem(hDlg,IDC_FONTSIZE);
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"8");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"9");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"10");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"11");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"12");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"15");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"20");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"30");
hCon=GetDlgItem(hDlg,IDC_CARETWIDTH);
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"1");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"2");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"3");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"4");
hCon=GetDlgItem(hDlg,IDC_SEL);
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"¼û±è");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"È帮°Ô Ç¥½Ã");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"Ç×»ó Ç¥½Ã");
hCon=GetDlgItem(hDlg,IDC_CUR);
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"°Á¶ÇÏÁö ¾ÊÀ½");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"¹Ú½º·Î Ç¥½Ã");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"¹ØÁٷΠǥ½Ã");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"À½¿µÀ¸·Î Ç¥½Ã");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"À½¿µ°ú ¹Ú½º·Î Ç¥½Ã");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"¸¶Áø¿¡ Ç¥½Ã");
hCon=GetDlgItem(hDlg,IDC_WRAP);
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"ÇÑ±Û ±ÛÀÚ, ¿µ¹® ±ÛÀÚ");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"ÇÑ±Û ±ÛÀÚ, ¿µ¹® ´Ü¾î");
SendMessage(hCon,CB_ADDSTRING,0,(LPARAM)"ÇÑ±Û ´Ü¾î, ¿µ¹® ´Ü¾î");
SendDlgItemMessage(hDlg,IDC_FONTFACE,CB_ADDSTRING,0,(LPARAM)"==½Ã½ºÅÛ==");
for (i=0;i<FontNum;i++) {
SendDlgItemMessage(hDlg,IDC_FONTFACE,CB_ADDSTRING,0,(LPARAM)arFont[i].lfFaceName);
}
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDC_FONTFACE:
AdjustDlgUI(1,hDlg);
case IDC_FONTSIZE:
case IDC_LINEHEIGHT:
case IDC_CARETWIDTH:
case IDC_SEL:
case IDC_CUR:
case IDC_WRAP:
switch (HIWORD(wParam)) {
case CBN_SELCHANGE:
case CBN_EDITCHANGE:
PropSheet_Changed(GetParent(hDlg),hDlg);
break;
}
return TRUE;
case IDC_MARGIN:
AdjustDlgUI(1,hDlg);
case IDC_LINENUM:
case IDC_WORDWRAP:
case IDC_HANGUL:
case IDC_SHOWENTER:
case IDC_SHOWTAB:
case IDC_SHOWSPACE:
case IDC_HIDECURLINE:
case IDC_TOOLBARBIG:
case IDC_TOOLBARTEXT:
case IDC_NOFIRSTSPACE:
PropSheet_Changed(GetParent(hDlg),hDlg);
return TRUE;
case IDC_RIGHTWRAP:
case IDC_COLMARK:
if (HIWORD(wParam) == EN_CHANGE) {
if (bEditByCode==FALSE) {
PropSheet_Changed(GetParent(hDlg),hDlg);
}
}
return TRUE;
}
break;
case WM_NOTIFY:
switch (((LPNMHDR)lParam)->code) {
case PSN_SETACTIVE:
g_StartPage=1;
SetDlgItemInt(hDlg,IDC_LINEHEIGHT,NewOption.LineRatio,FALSE);
CheckDlgButton(hDlg,IDC_MARGIN,NewOption.bShowMargin ? BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hDlg,IDC_LINENUM,NewOption.bShowLineNum ? BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hDlg,IDC_WORDWRAP,NewOption.bWrap ? BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hDlg,IDC_HANGUL,NewOption.Hangul ? BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hDlg,IDC_SHOWENTER,NewOption.bShowEnter ? BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hDlg,IDC_SHOWTAB,NewOption.bShowTab ? BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hDlg,IDC_SHOWSPACE,NewOption.bShowSpace ? BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hDlg,IDC_HIDECURLINE,NewOption.bHideCurLine ? BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hDlg,IDC_TOOLBARBIG,NewOption.bToolBarBig ? BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hDlg,IDC_TOOLBARTEXT,NewOption.bToolBarText ? BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hDlg,IDC_NOFIRSTSPACE,NewOption.bNoFirstSpace ? BST_CHECKED:BST_UNCHECKED);
if (NewOption.logfont.lfHeight == 0) {
idx=0;
SetDlgItemInt(hDlg,IDC_FONTSIZE,10,FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_FONTSIZE),FALSE);
} else {
idx=SendDlgItemMessage(hDlg,IDC_FONTFACE,CB_FINDSTRING,-1,
(LPARAM)NewOption.logfont.lfFaceName);
SetDlgItemInt(hDlg,IDC_FONTSIZE,NewOption.logfont.lfHeight,FALSE);
}
SendDlgItemMessage(hDlg,IDC_FONTFACE,CB_SETCURSEL,idx,0);
SendDlgItemMessage(hDlg,IDC_SEL,CB_SETCURSEL,NewOption.HideSelType,0);
SendDlgItemMessage(hDlg,IDC_CUR,CB_SETCURSEL,NewOption.nShowCurLine,0);
SendDlgItemMessage(hDlg,IDC_WRAP,CB_SETCURSEL,NewOption.nWrap-1,0);
SendDlgItemMessage(hDlg,IDC_CARETWIDTH,CB_SETCURSEL,NewOption.CaretWidth-1,0);
bEditByCode=TRUE;
SetDlgItemInt(hDlg,IDC_RIGHTWRAP,NewOption.RightWrap,FALSE);
SetDlgItemInt(hDlg,IDC_COLMARK,NewOption.ColMark,FALSE);
bEditByCode=FALSE;
AdjustDlgUI(1,hDlg);
return TRUE;
case PSN_APPLY:
ApplyNow();
return TRUE;
case PSN_KILLACTIVE:
tint=GetDlgItemInt(hDlg,IDC_LINEHEIGHT,NULL,FALSE);
if (tint < 100 || tint > 1000) {
MessageBox(hDlg,"ÁÙ°£Àº 100~1000»çÀÌÀÇ °ªÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù","¾Ë¸²",MB_OK);
SetWindowLong(hDlg,DWL_MSGRESULT,TRUE);
return TRUE;
}
tint=GetDlgItemInt(hDlg,IDC_FONTSIZE,NULL,FALSE);
if (tint < 6 || tint > 72) {
MessageBox(hDlg,"±Û²ÃÀÇ Å©±â´Â 6~72»çÀÌÀÇ °ªÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù","¾Ë¸²",MB_OK);
SetWindowLong(hDlg,DWL_MSGRESULT,TRUE);
return TRUE;
}
NewOption.LineRatio=GetDlgItemInt(hDlg,IDC_LINEHEIGHT,NULL,FALSE);
NewOption.bShowMargin=IsDlgButtonChecked(hDlg,IDC_MARGIN) ? TRUE:FALSE;
NewOption.bShowLineNum=IsDlgButtonChecked(hDlg,IDC_LINENUM) ? TRUE:FALSE;
NewOption.bWrap=IsDlgButtonChecked(hDlg,IDC_WORDWRAP) ? TRUE:FALSE;
NewOption.Hangul=IsDlgButtonChecked(hDlg,IDC_HANGUL) ? TRUE:FALSE;
NewOption.bShowEnter=IsDlgButtonChecked(hDlg,IDC_SHOWENTER) ? TRUE:FALSE;
NewOption.bShowTab=IsDlgButtonChecked(hDlg,IDC_SHOWTAB) ? TRUE:FALSE;
NewOption.bShowSpace=IsDlgButtonChecked(hDlg,IDC_SHOWSPACE) ? TRUE:FALSE;
NewOption.bHideCurLine=IsDlgButtonChecked(hDlg,IDC_HIDECURLINE) ? TRUE:FALSE;
NewOption.bToolBarBig=IsDlgButtonChecked(hDlg,IDC_TOOLBARBIG) ? TRUE:FALSE;
NewOption.bToolBarText=IsDlgButtonChecked(hDlg,IDC_TOOLBARTEXT) ? TRUE:FALSE;
NewOption.bNoFirstSpace=IsDlgButtonChecked(hDlg,IDC_NOFIRSTSPACE) ? TRUE:FALSE;
idx=SendDlgItemMessage(hDlg,IDC_FONTFACE,CB_GETCURSEL,0,0);
if (idx==0) {
NewOption.logfont.lfHeight=0;
} else {
SendDlgItemMessage(hDlg,IDC_FONTFACE,CB_GETLBTEXT,idx,(LPARAM)szFace);
for (i=0;i<FontNum;i++) {
if (lstrcmp(szFace,arFont[i].lfFaceName) == 0)
break;
}
NewOption.logfont=arFont[i];
NewOption.logfont.lfHeight=GetDlgItemInt(hDlg,IDC_FONTSIZE,NULL,FALSE);
}
NewOption.HideSelType=SendDlgItemMessage(hDlg,IDC_SEL,CB_GETCURSEL,0,0);
NewOption.nShowCurLine=SendDlgItemMessage(hDlg,IDC_CUR,CB_GETCURSEL,0,0);
NewOption.nWrap=SendDlgItemMessage(hDlg,IDC_WRAP,CB_GETCURSEL,0,0)+1;
NewOption.CaretWidth=SendDlgItemMessage(hDlg,IDC_CARETWIDTH,CB_GETCURSEL,0,0)+1;
NewOption.RightWrap=GetDlgItemInt(hDlg,IDC_RIGHTWRAP,NULL,FALSE);
NewOption.ColMark=GetDlgItemInt(hDlg,IDC_COLMARK,NULL,FALSE);
return TRUE;
}
break;
}
return FALSE;
}
ÇÔ¼öÀÇ ±¸Á¶´Â ÀÏ¹Ý ÆäÀÌÁö¿Í °ÅÀÇ ºñ½ÁÇÏ´Ù. ¾Æ´Ï ºñ½ÁÇÑ Á¤µµ°¡ ¾Æ´Ï¶ó ¿ÏÀüÈ÷ °°Àº ²ÃÀÌ´Ù. ÀÏ¹Ý ÆäÀÌÁö¿Í ºñ±³ÇØ º¼ ¶§ ´ëÈ»óÀÚÀÇ ÄÁÆ®·Ñ°ú °ü¸®ÇÏ´Â ¿É¼ÇÀÇ Á¾·ù°¡ ´Ù¸¥ °Í ¿Ü¿¡´Â º°´Ù¸¥ Â÷ÀÌÁ¡ÀÌ ¾ø´Ù. ÄÞº¸¹Ú½º¸¦ ¸¹ÀÌ »ç¿ëÇϱ⠶§¹®¿¡ WM_INITDIALOGÀÇ ÃʱâÈ Äڵ尡 ±æ¸ç ±Û²Ã ÄÞº¸¹Ú½º´Â Config ÇÔ¼ö¿¡¼ ¹Ì¸® Á¶»çÇسõÀº ÆùÆ® ¸ñ·Ï(arFont)À¸·Î ÃʱâÈÇÏ¿© À̸§À¸·Î ±Û²ÃÀ» ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï Çß´Ù.
PSN_KILLACTIVE¿¡¼´Â ÄÁÆ®·Ñ·ÎºÎÅÍ °ªÀ» Àбâ Àü¿¡ ÁÙ°£°ú ±Û²ÃÀÇ Å©±â°¡ À¯È¿ÇÑÁö¸¦ ¸ÕÀú Á¡°ËÇÑ´Ù. ÁÙ°£Àº 100~1000±îÁö°¡ À¯È¿ÇÏ¸ç ±Û²ÃÀº 6~72±îÁö¸¸ ÀÎÁ¤ÇÑ´Ù. ¸¸¾à À¯È¿ÇÏÁö ¸øÇÑ °ªÀ» ÀÔ·ÂÇßÀ» ¶§´Â FALSE¸¦ ¸®ÅÏÇÏ¿© ÀÌ ÆäÀÌÁö¸¦ ¶°³ªÁö ¸øÇϵµ·Ï ÇÏ¿´´Ù. ´ëÈ»óÀÚÀÇ ÅëÁö ¸Þ½ÃÁö°¡ ¸®ÅÏ°ªÀ» ¸®ÅÏÇÒ ¶§´Â return¹®À¸·Î ¸®ÅÏÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó DWL_MSGRESULT¿¡ ¸®ÅÏ°ªÀ» ´ëÀÔÇØ¾ß ÇÔÀ» À¯ÀÇÇÏÀÚ.
ÀÌ ´ëÈ»óÀÚ´Â ¿ì¸®°¡ ¾Õ¿¡¼ ÀÌ¹Ì ¸¸µé¾ú´ø Ä£¼÷ÇÑ ¿É¼ÇÀ» ó¸®ÇÏ°í ÀÖÀ¸¹Ç·Î ÀÌ ¿É¼ÇµéÀÌ ¾î¶»°Ô Ç¥½ÃµÇ°í º¯°æµÇ´ÂÁö¸¦ »ìÆì º¸µµ·Ï ÇÏÀÚ. ´ëÇ¥ÀûÀ¸·Î üũ¹Ú½ºÀÎ ¸¶Áø¿µ¿ª Ç¥½Ã ¿É¼Ç°ú ÄÞº¸¹Ú½ºÀÎ ºñÈ°¼ºÈ½Ã ¼±Åÿµ¿ª ¿É¼ÇÀÇ °æ¿ì¸¸ º¸¸é ³ª¸ÓÁö ¿É¼Çµéµµ °°Àº ¹æ½ÄÀ¸·Î ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¸¶Áø ¿µ¿ª Ç¥½Ã ¿É¼ÇÀº üũ¹Ú½º(IDC_MARGIN)·Î Ç¥ÇöµÇ±â ¶§¹®¿¡ º°µµÀÇ ÃʱâÈ°¡ ÇÊ¿ä¾øÀ¸¸ç µû¶ó¼ WM_INITDIALOG¿¡¼´Â ÀÌ ÄÁÆ®·Ñ¿¡ ´ëÇؼ´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê´Â´Ù. PSN_SETACTIVE¿¡¼´Â ÀÌ ÄÁÆ®·Ñ°ú ´ëÀÀµÇ´Â NewOption.bShowMargin º¯¼ö°ªÀ» Àоî üũ¹Ú½º¿¡ »óŸ¦ Ç¥½ÃÇϸç À̶§´Â CheckDlgButton ÇÔ¼ö°¡ »ç¿ëµÇ¾ú´Ù. NewOption.bShowMarginÀÌ TRUEÀ̸é ÀÌ ÄÁÆ®·ÑÀ» BST_CHECKED·Î ¸¸µé°í ¾Æ´Ï¸é BST_UNCHECKED·Î ¸¸µé¾î »ç¿ëÀÚ¿¡°Ô ÇöÀç ¸¶Áø¿µ¿ª Ç¥½Ã ¿É¼ÇÀÌ ¾î¶»°Ô ¼³Á¤µÇ¾î ÀÖ´ÂÁö¸¦ º¸¿©ÁØ´Ù.
´ëÈ»óÀÚ°¡ ´ÝÈú ¶§ÀÎ PSN_KILLACTIVE¿¡¼´Â ¹Ý´ë·Î IDC_MARGIN ÄÁÆ®·ÑÀÇ Ã¼Å© »óŸ¦ È®ÀÎÇÏ¿© NewOption.bShowMarginº¯¼ö°ªÀ» º¯°æÇÑ´Ù. »ç¿ëÀÚ°¡ üũ¹Ú½º¸¦ üũÇßÀ¸¸é ÀÌ º¯¼ö¸¦ TRUE·Î º¯°æÇÏ°í üũÇÏÁö ¾Ê¾ÒÀ¸¸é FALSE·Î º¯°æÇÑ´Ù. ¹°·Ð ÀÌ ¿É¼ÇÀ» °Çµå¸®Áö ¾Ê¾Ò´Ù¸é ¿ø·¡ÀÇ °ªÀ» ±×´ë·Î À¯ÁöÇÒ °ÍÀÌ´Ù.
WM_COMMAND¿¡¼´Â »ç¿ëÀÚ°¡ ÀÌ Ã¼Å©¹Ú½º¸¦ Á¶ÀÛÇÒ ¶§ AdjustDlgUI ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ÀÌ ¿É¼Ç¿¡ Á¾¼ÓµÇ´Â ÁÙ¹øÈ£ º¸±â üũ¹Ú½º(IDC_LINENUM)À» °ü¸®ÇÑ´Ù. ¸¶Áø¿µ¿ªÀÌ º¸ÀÌ´Â »óÅ¿¡¼¸¸ ÁÙ¹øÈ£ º¸±â üũ¹Ú½º¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚ°¡ üũ¹Ú½º¸¦ °Çµå·ÈÀ¸¸é ¿É¼Ç¿¡ º¯È°¡ »ý°åÀ¸¹Ç·Î Àû¿ë ¹öÆ°À» È°¼ºÈÇÑ´Ù. ±×·¡¼ AdjustDlgUI È£Ãâ¹® ´ÙÀ½¿¡ break°¡ »ý·«µÇ¾î ÀÖ°í PropSheet_Changed ÇÔ¼öµµ °°ÀÌ È£ÃâµÈ´Ù.
´ÙÀ½Àº ºñÈ°¼ºÈ½Ã ¼±Åÿµ¿ª ¿É¼ÇÀ» ó¸®ÇÏ´Â IDC_SEL ÄÞº¸¹Ú½º¸¦ º¸ÀÚ. WM_INITDIALOG¿¡¼ ÄÞº¸¹Ú½º¿¡ ¼±Åà °¡´ÉÇÑ Ç׸ñµéÀ» Ãß°¡ÇÑ´Ù. À̶§ ÄÞº¸¹Ú½ºÀÇ Ç׸ñ ¼ø¼´Â HideSelType ¿É¼Ç°ª°ú ÀÏÄ¡½ÃÅ´À¸·Î½á ÄÞº¸¹Ú½ºÀÇ À妽º°¡ °ð ¿É¼Ç°ª°ú °°µµ·Ï ÇÏ¿´´Ù. PSN_SETACTIVE¿¡¼ NewOption.HideSelType º¯¼ö°ªÀ¸·Î ÄÞº¸¹Ú½ºÀÇ À妽º¸¦ ÃʱâÈÇÏ¿© ÇöÀç ¼±Åà »óŸ¦ º¸¿©ÁÖ¾úÀ¸¸ç PSN_KILLACTIVE¿¡¼ ÄÞº¸¹Ú½ºÀÇ À妽º¸¦ NewOption.HideSelType º¯¼ö·Î ´Ù½Ã ´ëÀÔÇÏ¿´´Ù.
WM_COMMAND¿¡¼´Â CBN_SELCHANGE, CBN_EDITCHANGE ÅëÁö ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§¸¸ Àû¿ë ¹öÆ°À» È°¼ºÈÇÑ´Ù. ÀÌ µÎ ¸Þ½ÃÁö ¿ÜÀÇ ´Ù¸¥ ÄÞº¸¹Ú½º ÅëÁö ¸Þ½ÃÁö, ¿¹¸¦ µé¾î µå·Ó ´Ù¿î ¸®½ºÆ®¹Ú½º°¡ ¿·È´Ù´Â CBN_DROPDOWNÀ̳ª Æ÷Ä¿½º¸¦ ¹Þ¾Ò´Ù´Â CBN_SETFOCUS µîÀº ¿É¼Ç°ªÀÇ º¯°æ°ú´Â ¹«°üÇϹǷΠÀ̶§´Â Àû¿ë ¹öÆ°À» È°¼ºÈÇؼ´Â ¾ÈµÈ´Ù. IDC_SEL ÄÞº¸¹Ú½º¿¡ ´ëÇÑ Ã³¸®°¡ ÀÌ·¸°Ô °£´ÜÇÑ ÀÌÀ¯´Â HideSelType ¿É¼Ç°ú ÀÌ ÄÞº¸¹Ú½ºÀÇ Ç׸ñ À妽º°¡ ÀÏÄ¡Çϸç ÀÌ ÄÞº¸¹Ú½º¿¡ CBS_SORT ½ºÅ¸ÀÏÀÌ ¾ø±â ¶§¹®ÀÌ´Ù.
¹Ý¸é ±Û²Ã ÄÞº¸¹Ú½º´Â ¿É¼Ç ÀÚü°¡ Á¤¼ö°¡ ¾Æ´Ï°í lfHeight°¡ 0ÀÌ¸é ½Ã½ºÅÛ ±Û²ÃÀ̶ó´Â Ư¼ö°ªÀÌ Á¸ÀçÇϱ⠶§¹®¿¡ ¿É¼ÇÀ» º¸¿©ÁÖ°í µÇµ¹·Á ¹Þ´Â °úÁ¤ÀÌ ÈξÀ ´õ º¹ÀâÇÏ´Ù. ±Û²Ã À̸§À¸·Î ÄÞº¸¹Ú½ºÀÇ À妽º¸¦ ã¾Æ¾ß Çϸç PSN_KILLACTIVE¿¡¼´Â ¼±ÅÃÇÑ ±Û²Ã À̸§À¸·ÎºÎÅÍ arFont ¹è¿ÀÇ À妽º¸¦ ¸ÕÀú ã°í ÀÌ À妽ºÀÇ ÆùÆ®¸¦ NewOption.logfont¿¡ ´ëÀÔÇØ¾ß ÇÑ´Ù. ÀÌ ÄÞº¸¹Ú½º´Â CBS_SORT ½ºÅ¸ÀÏÀ» °¡Áö¹Ç·Î ÄÞº¸¹Ú½ºÀÇ À妽º·ÎºÎÅÍ ¹Ù·Î arFont ¹è¿ÀÇ À妽º¸¦ ãÀ» ¼ö°¡ ¾ø´Ù. ¶ÇÇÑ lfHeight°¡ 0ÀÎ °æ¿ì¸¦ Ç×»ó µû·Î Á¡°ËÇÒ ÇÊ¿äµµ ÀÖ´Ù.