PopupMenu1->Items->Clear();   //將PopupMenu1內的items清空
TMenuItem* MI;

for(int m=0;m<10;m++)
{
     MI=new TMenuItem(Form1);   //這個不打會出錯0.0..
     MI->Caption=m;
     PopupMenu1->Items->Add(MI);
}
Form1->PopupMenu=PopupMenu1;

 


                caldays=ym+"/"+mon+"/"+i;
                ADOQuery1->SQL->Text="Select * From Calendar Where Calendar_StartDay='"+caldays+"'";
                ADOQuery1->Active=true;
                selcount=ADOQuery1->RecordCount;
                if(selcount>0)
                {
                        SPM[i-1]->Items->Clear();  //SPM為預先建在form上的PopupMenu
                        TMenuItem* MI;
                        TMenuItem* NI;
                        for(int m=0;m                         {
                                MI=new TMenuItem(Form1);
                                MI->Caption=ADOQuery1->FieldByName("Calendar_Title")->AsString;  //讀取資料庫的內容
                                MI->onclick=Form1->ONewEven->onclick;
                                tmpn="PM"+ADOQuery1->FieldByName("Calendar_Id")->AsInteger;
                                MI->Name=tmpn;
                                SPM[i-1]->Items->Add(MI);
                                ADOQuery1->Next();
                        }
                        MI=new TMenuItem(Form1);
                        MI->Caption="-";    
                        SPM[i-1]->Items->Add(MI);    //此為分隔線的設立

                        MI=new TMenuItem(Form1);
                        MI->Caption="新增行事";
                        MI->onclick=Form1->ONewEven->onclick;
                        AnsiString pmn="NE"+i;
                        MI->Name=pmn;
                        SPM[i-1]->Items->Add(MI);

                        MI=new TMenuItem(Form1);
                        MI->Caption="刪除";
                        pmn="DE"+i;
                        MI->Name=pmn;
                        SPM[i-1]->Items->Add(MI);

                        ADOQuery1->First();    //將資料庫的搜尋指向第一筆
                        for(int n=0;n                         {
                                NI=new TMenuItem(Form1);
                                NI->Caption=ADOQuery1->FieldByName("Calendar_Title")->AsString;
                                NI->onclick=Form1->ONewEven->onclick;
                                tmpn="DE"+ADOQuery1->FieldByName("Calendar_Id")->AsInteger;
                                NI->Name=tmpn;
                                MI->Insert(n,NI);            //在MI上新增SubMenu,如圖ㄉ刪除。
                                ADOQuery1->Next();    //n為index必需由0開始,不可大於SubMenu的總item數
                        }
                        ImDay[wd]->PopupMenu=SPM[i-1];
                }

創作者介紹
創作者 玥.夢鄉 的頭像

玥.夢鄉

玥 發表在 痞客邦 留言(0) 人氣( 1878 )