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];

                }

arrow
arrow
    全站熱搜

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