TabWidth´Â ÅÇÀÇ ÆøÀ» ¸î °³ÀÇ ¹®ÀÚÆøÀ¸·Î ÇÒ °ÍÀΰ¡¸¦ ±â¾ïÇÏ´Â º¯¼öÀ̸ç ÀÌ º¯¼ö·ÎºÎÅÍ Çȼ¿ ´ÜÀ§ÀÇ ½ÇÁ¦ ÅÇ ÆøÀÎ TabSize¸¦ °è»êÇØ ³½´Ù. À̶§ TabWidth¿¡ ¾î¶² °ªÀ» °öÇϴ°¡¿¡ µû¶ó ÅÇÀÇ ½ÇÁ¦ ÆøÀÌ ´Þ¶óÁö´Âµ¥ µÎ °¡Áö ¹æ½ÄÀÌ ÀÖ´Ù. ù ¹ø°´Â ¹®ÀÚÀÇ Æò±ÕÆøÀ» °öÇÏ´Â °ÍÀÌ°í µÎ ¹ø°´Â °ø¹éÀÇ ÆøÀ» °öÇÏ´Â °ÍÀε¥ Áö±Ý±îÁö´Â Æò±ÕÆøÀ» °öÇÏ´Â °ÍÀ¸·Î °íÁ¤µÇ¾î ÀÖ¾ú´Ù.
¹®ÀÚÀÇ Æò±ÕÆøÀ» °öÇÏ´Â °ÍÀÌ ÇÕ¸®ÀûÀÌÁö¸¸ ¼Ò½º¸¦ ÆíÁýÇÒ ¶§´Â ÅÇ°ú °ø¹éÀ» ¹ø°¥¾Æ »ç¿ëÇϹǷΠÅÇÀÇ ÆøÀÌ °ø¹é°ú °°Àº °ÍÀÌ ´õ º¸±â¿¡ ÁÁ´Ù. TabWidth°¡ 4ÀÏ ¶§ Åǹ®ÀÚ ÇϳªÀÇ Æø°ú °ø¹é 4°³ÀÇ ÆøÀÌ ÀÏÄ¡ÇÏ¸é µé¿©¾²±â°¡ Á¦´ë·Î Á¤·ÄµÇ¾î º¸±â¿¡ ÁÁ´Ù. bCalcTabWithAvg´Â ¹®ÀÚÀÇ Æò±ÕÆøÀ» °öÇÒ °ÍÀΰ¡ ¾Æ´Ï¸é °ø¹éÆøÀ» °öÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÏ´Â ¿É¼ÇÀÌ¸ç µðÆúÆ®°ªÀº TRUEÀ̹ǷΠ¹®ÀÚÀÇ Æò±ÕÆøÀÌ °öÇØÁø´Ù. ÀÌ ¿É¼ÇÀ» FALSE·Î ¹Ù²Ù¸é °ø¹éÆøÀÇ ¹è¼ö·Î ÅÇÀÇ ÆøÀ» °è»êÇÏ°Ô µÉ °ÍÀÌ´Ù. ÅÇÀ» °è»êÇÏ´Â ¹æ½ÄÀÌ ¹Ù²î¸é ÅÇÀÇ ½ÇÁ¦ÆøÀÌ º¯°æµÇ¹Ç·Î SetTabWidth ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
void CApiEdit::SetTabWidth(int aTabWidth)
{
TabWidth=aTabWidth;
if (bCalcTabWithAvg) {
TabSize=FontWidth*TabWidth;
} else {
TabSize=arChWidth[¡® ¡®]*TabWidth;
}
UpdateLineInfo();
UpdateScrollInfo();
Invalidate(-1);
SetCaret();
}
ÀÌ ÇÔ¼ö´Â TabWidth¿Í bCalcTabWithAvg ¿É¼ÇÀ» ÂüÁ¶ÇÏ¿© TabSize¸¦ ´Ù½Ã °è»êÇϸç ÀçÁ¤·Ä ¹× ½ºÅ©·Ñ Á¤º¸ °»½ÅÀ» ÇÑ´Ù. ÆùÆ®°¡ º¯°æµÉ ¶§µµ ÅÇÀÌ ´Ù½Ã °è»êµÇ¹Ç·Î SetFont¿¡µµ ÀÌ ¿É¼ÇÀ» Àû¿ëÇØ¾ß ÇÑ´Ù.
void CApiEdit::SetFont(LOGFONT *alogfont)
{
if (bCalcTabWithAvg) {
TabSize=FontWidth*TabWidth;
} else {
TabSize=arChWidth[¡® ¡®]*TabWidth;
}
....
¿É¼ÇÀ» º¯°æÇϸé ÅÇÀÇ ÆøÀÌ ´Ù½Ã ¼³Á¤µÇ°í ÇÊ¿äÇÒ °æ¿ì ÀçÁ¤·ÄÇÏ°Ô µÈ´Ù.