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];
}
留言列表