|
우비소녀.. 님이 쓰신 글 :
: 버튼을 클릭하면 DB내용을 가져와서 팝업메뉴를 동적으로 생성해서 팝업메뉴에 보여주는건데여...
: 버튼을 한번 클릭하면 가져와서 보여주는데 두번째 클릭하면 컴포넌트가 존재한다는 오류가 나옹는데여...
: 한번 생성된 메뉴아이템이 삭제가 되질 않아서 그런것 같은데...어떻게 삭제를 해줘야 하는지...
: 팝업에 다 보여준 후에 delete를 하면 OnClick이벤트에서 아이템을 찾을수 없어서 삭제를 할수가 없고....어떻게 해야할지...
: 방법좀 알려주세요....
:
: 소스는...
: TPopupMenu *MyPopup = new TPopupMenu(this); //팝업메뉴 생성..
: this->PopupMenu = MyPopup;
: MyPopup->AutoHotkeys = maManual;
:
: TMenuItem *Item = new TMenuItem(this); //메뉴아이템생성..
: Item->AutoHotkeys = maParent;
:
: AnsiString SqlStr; //쿼리부분..
: SqlStr = "Select * From AAA";
:
: if(MData->qryTemp->Active) MData->qryTemp->Active = false;
: MData->qryTemp->SQL->Clear();
: MData->qryTemp->SQL->Add(SqlStr);
: MData->qryTemp->Active = true;
:
: if(!MData->qryTemp->Eof){
: while(!MData->qryTemp->Eof){
: Item = new TMenuItem(this);
: Item->Caption = MData->qryTemp->FieldByName("bbb")->AsString;
: Item->Name = MData->qryTemp->FieldByName("ccc")->AsString;
:
: //<---여기서 에러가 납니다...한번은 에러가 안나는데...두번째 부터는 에러가 납니다..
: 이미 생성이 되어 있어서 그런것 같은데...방법이 없을까여?...
:
: MyPopup->Items->Add(Item);
:
: MData->qryTemp->Next();
: }
: }
:
: MData->qryTemp->Active = false;
:
:
: int x = Left + BEventSort->Left + 15;
: int y = Top + GroupBox2->Height + BEventSort->Top + BEventSort->Height + 45;
:
: MyPopup->Popup(x,y);
|