¿©±â±îÁö °í±Þ ÆíÁý±â´ÉµéÀ» ÀÛ¼ºÇÏ¸é¼ ÃÑ 4°³ÀÇ ¿É¼Ç º¯¼ö°¡ Ãß°¡µÇ¾ú´Ù. ApiEdit´Â ÀÌ ¿É¼ÇµéÀ» ¿ÜºÎ¿¡¼ ÀÐ°í º¯°æÇÒ ¼ö ÀÖµµ·Ï ¾×¼¼½º ÇÔ¼ö¸¦ Á¦°øÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ÇÔ¼öµéÀ» ApiEdit.h¿¡ Ãß°¡Çϵµ·Ï ÇÏÀÚ.
class CApiEdit
{
....
BOOL GetSpaceForTab() { return bSpaceForTab; }
void SetSpaceForTab(BOOL aSpaceForTab) { bSpaceForTab=aSpaceForTab; }
BOOL GetAutoIndent() { return bAutoIndent; }
void SetAutoIndent(BOOL aAutoIndent) { bAutoIndent=aAutoIndent; }
BOOL GetBlockIndentWithTab() { return bBlockIndentWithTab; }
void SetBlockIndentWithTab(BOOL aBlockIndentWithTab)
{ bBlockIndentWithTab=aBlockIndentWithTab; }
BOOL GetHomeToFirstChar() { return bHomeToFirstChar; }
void SetHomeToFirstChar(BOOL aHomeToFirstChar) { bHomeToFirstChar=aHomeToFirstChar; }
ÆíÁý °ü·Ã ¿É¼ÇµéÀº »ç¿ëÀÚ°¡ ÆíÁýÀ» ÇÒ ¶§ Àû¿ëµÇ´Â °ÍµéÀ̶ó ApiEditÀÇ ¸ð¾ç¿¡´Â ÀüÇô ¿µÇâÀ» ÁÖÁö ¾Ê´Â´Ù. º¯°æ Áï½Ã ¾î¶² È¿°ú°¡ ³ªÅ¸³¯ ÇÊ¿ä°¡ ¾øÀ¸¹Ç·Î ÀÌ º¯¼öµéÀÇ º¯È¿¡ µû¸¥ ºÎÂ÷ÀûÀΠ󸮰¡ ÀüÇô ÇÊ¿ä¾ø´Ù. ±×·¡¼ Get ÇÔ¼ö¿Í Set ÇÔ¼ö ¸ðµÎ ´Ù ÀζóÀÎÀ¸·Î ÀÛ¼ºÇß´Ù.
SOption ±¸Á¶Ã¼¿¡´Â ÀÌ º¯¼öµé°ú ´ëÀÀµÇ´Â ¼³Á¤ º¯¼öµéÀÌ ÀÌ¹Ì Æ÷ÇԵǾî ÀÖÀ¸¸ç ¼³Á¤ ´ëÈ»óÀÚÀÇ ÆíÁý ÆäÀÌÁö¿¡´Â ÀÌ ¿É¼ÇµéÀ» ÀԷ¹ÞÀ» ¼ö ÀÖ´Â ÄÁÆ®·ÑµéÀÌ ¹èÄ¡µÇ¾î ÀÖ´Ù. ÀÌ °ªµéÀÌ ¹Ù²î¸é ApplyNow ÇÔ¼ö¿¡¼ ApiEdit¿¡°Ô ¾Ë·Á Áֱ⸸ ÇÏ¸é µÈ´Ù.
void ApplyNow()
{
....
hChild=GetWindow(g_hMDIClient,GW_CHILD);
while (hChild) {
....
if (Option.bSpaceForTab != NewOption.bSpaceForTab) {
pSi->Ae.SetSpaceForTab(NewOption.bSpaceForTab);
}
if (Option.bAutoIndent != NewOption.bAutoIndent) {
pSi->Ae.SetAutoIndent(NewOption.bAutoIndent);
}
if (Option.bBlockIndentWithTab != NewOption.bBlockIndentWithTab) {
pSi->Ae.SetBlockIndentWithTab(NewOption.bBlockIndentWithTab);
}
if (Option.bHomeToFirstChar != NewOption.bHomeToFirstChar) {
pSi->Ae.SetHomeToFirstChar(NewOption.bHomeToFirstChar);
}
hChild=GetWindow(hChild,GW_HWNDNEXT);
}
....
»ç¿ëÀÚ°¡ ¼³Á¤ ´ëÈ»óÀÚ¸¦ ÅëÇØ ÀÌ ¿É¼Ç Áß Çϳª¸¦ º¯°æÇÏ¸é ¿¸° ¸ðµç ÆíÁýâÀÇ ÆíÁý ¿É¼ÇÀÌ ¹Ù²î¸ç ÀÌ ÈÄ º¯°æµÈ ¿É¼Ç´ë·Î ÆíÁý µ¿ÀÛÀÌ ÀÌ·ç¾îÁø´Ù. SetSetting ÇÔ¼ö¿¡¼µµ µ¿ÀÏÇÑ Ã³¸®¸¦ ÇÏ¿© ¾ÕÀ¸·Î »ý¼ºµÉ ÆíÁýâµµ µðÆúÆ®¿Í ´Ù¸¥ ÆíÁý ¿É¼ÇÀ» ´ëÀÔ¹Þµµ·Ï ÇØ¾ß ÇÑ´Ù.
void SetSetting(CApiEdit &Ae)
{
....
if (Option.bSpaceForTab != Ori.bSpaceForTab) {
Ae.SetSpaceForTab(Option.bSpaceForTab);
}
if (Option.bAutoIndent != Ori.bAutoIndent) {
Ae.SetAutoIndent(Option.bAutoIndent);
}
if (Option.bBlockIndentWithTab != Ori.bBlockIndentWithTab) {
Ae.SetBlockIndentWithTab(Option.bBlockIndentWithTab);
}
if (Option.bHomeToFirstChar != Ori.bHomeToFirstChar) {
Ae.SetHomeToFirstChar(Option.bHomeToFirstChar);
}
Áö±Ý±îÁö ¸¸µé¾ú´ø ÆíÁý ¿É¼ÇµéÀ» ¼³Á¤ ´ëÈ»óÀÚ¿¡¼ Á¶Á¤ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.