µ¿Àû ¸Þ´º ½±°í ºü¸£°Ô ¸¸µé±â --2¹øÂ° 



1¿ù 12ÀÏ ÆÁ¿¡¼­, µ¿ÀûÀ¸·Î ¸Þ´º ¾ÆÀÌÅÛÀ» ¸¸µå´Â Å×Å©´ÐÀ» ¾Ë¾Æ º¸¾Ò½À´Ï´Ù. ¿ø ¿¹Á¦¿¡¼­ itemsÀÇ Visible ¼Ó¼ºÀ» ¹Ù²Ù¾ú¾ú½À´Ï´Ù. ±× ÀÌÈÄ·Î µ¶ÀÚµéÀÌ ¿ø·¡ÀÇ Å×Å©´Ð¿¡ ±âÃʸ¦ µÐ ¶Ç´Ù¸¥ Á¦¾ÈÀ» Çß½À´Ï´Ù. ¸ðµç ¸Þ´º¾ÈÀÇ ¸ðµç ¾ÆÀÌÅÛÀ» ¹Ù²Ù±â À§ÇØ, ÆûÀÇ Components ¼Ó¼ºÀ» »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. »õ·Î¿î ¿¹Á¦´Â ġȯ¹®À» »ç¿ëÇÕ´Ï´Ù.
¿©±â¿¡ »õ·Î¿î ¿¹Á¦¿¡ ´ëÇÑ ¸î°¡Áö ´Ü°è°¡ ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ÇÏ´Â °Íó·³ ¸Þ´º¸¦ ¸¸µì´Ï´Ù. ±×·±´ÙÀ½ Á¢±Ù ±ÇÇÑ À» ÁÙ ¼ö ÀÖ´Â Tag ¼Ó¼ºÀ» »ç¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¸é, File|OpenÀÇ Tag ¼Ó¼º°ú File|CloseÀÇ Tag ¼Ó¼ºÀ» 2·Î ġȯÇÕ´Ï´Ù. File|New, File|Save, File|PrintÀÇ Tag ¼Ó¼ºÀº 3À¸·Î ġȯÇÕ´Ï´Ù. OnCreateÀ̺¥Æ®¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  for (int i = 0; i < ComponentCount; i++)
   if (dynamic_cast (Components[i]) != 0 )
    (dynamic_cast(Components[i]))->Visible = (2 >= (dynamic_cast(Components[i]))->Tag);
}
ÀÌ ÄÚµå´Â À¯ÀúÀÇ Á¢±Ù ´Ü°è¸¦ ºñ±³ÇÕ´Ï´Ù. À¯Àú Á¢±Ù ´Ü°è´Â Tag ¼Ó¼ºÀ¸·Î Á¤ÇÕ´Ï´Ù. ¸¸¾à¿¡ À¯Àú°¡ Tag °ª°ú ¶È°°°Å³ª Å©Áö ¾Ê´Ù¸é ¸Þ´º ¾ÆÀÌÅÛÀ» º¸ÀÌÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
 

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 for (int i = 0; i < MainMenu1->Items->Count;i++)
 {
   if (UserLevel < MainMenu1->Items->Items[i]->Tag)
     MainMenu1->Items->Items[i]->Visible = false;
   else
     MainMenu1->Items->Items[i]->Visible = true;
   for (int j = 0; j < MainMenu1->Items->Items[i]->Count;j++)
     if (UserLevel < MainMenu1->Items->Items[i]->Items[j]->Tag)
       MainMenu1->Items->Items[i]->Items[j]->Visible = false;
     else
       MainMenu1->Items->Items[i]->Items[j]->Visible = true;
 }
}
 

ÀÌ ÄÚµå´Â À¯Àú ¾×¼¼½º ±ÇÇÑÀ» ºñ±³ÇÕ´Ï´Ù. ¸¸¾à¿¡ ±ÇÇÑÀÌ ¾ø´Ù¸é ¸Þ´º ¾ÆÀÌÅÛÀº ¾Æ¿¹ ³ªÅ¸³ªÁöµµ ¾ÊÀ» °ÍÀÔ´Ï´Ù. 

Âü°í»çÇ×: Delphi¿¡¼­´Â MainMenu1->Items->Items[i] ÀÌ MainMenu1.Items[i]ÀÔ´Ï´Ù.