Q&A

  • 메인메뉴와 팝업메뉴의 갈림길..
안녕하세요? 델파이 만진지 이제 갓 일주일 되어가는 초보입니다.

여쭤보고싶은 것이 2개지 있는데요, 우선 첫번째 질문은...

제가 윈도우 시작버튼 위치에(화면위치) 메뉴를 만들고 그걸 클릭하면 원하는

레지스트리를 읽어서 그 내용대로 메뉴를 동적으로 생성하려고 하는데요,

그러니까,레지스트리에 6개 메뉴가 있고.. 각자 서브메뉴들이 수십개씩 있어요

버튼을 누르면 이 내용들이 메뉴화되어 펼쳐져야 하는데, 이 때 사용하는게

메인메뉴인가요? 팝업메뉴인가요? 저는 팝업메뉴가 윈도우상에서 오른쪽버튼

클릭시의 팝업창같은것으로 이해했는데 여기 글을보니 제가 원하는 것을

팝업메뉴로도 할 수 있는건가 아리송해져서요(전 메인메뉴로 만드는 중..)

----------------------------------------------------------------------

두번째 질문은, 메인 메뉴로 작업중의 문제인데요..제가 버튼 캡션을 MENU로

지었구, 이걸 클릭하면 6개의 주메뉴가 뜨며, 그 중의 하나에 마우스를 올리면

자신이 소유한 서브메뉴들이 쫙 보여져야 하는데요. 뜻대로 안 되네요;;

type
    MENU: TMainMenu;
    Menu1: TMenuItem;          //제가 만든 메뉴 이름은 Mneu1입니다..
    procedure Menu1Click(Sender: TObject);

var
   path: string;
  key: string;
  value: string;

procedure TForm1.Menu1Click(Sender: TObject);
var
    index : integer;
    items : string;
    itemName : string;
begin
    path := '\SOFTWARE\Ultrasound\Measure';
    value := 'items';
    itemName := 'I have no item';

    //레지스트리의 값을 읽어서
    items := GetRegString(path, 'Items', 'nothing');
    while items <> '' do
      begin
        index := pos('|',items)-1;  //최초 구분자의 위치에서 -1한 값을 index에 저장

        //마지막 아이템일 경우 '|'가 없기때문에 index값을 변경
        if index <= 0 then index := length(items);

        itemName := copy(items, 1, index);  //index의 위치까지가 temName
        delete(items,1,index+1);    //얻은 itemName과 '|' 삭제

        Menu.items.add(itemName);  //아이템을 동적 생성시켜 보이려고..

      end;
end;

어찌어찌 해본건데..뭐가 문제일까요.. 애초부터 다 틀려버린건가요? ㅠ.ㅠ

나름대로 책이랑 개발자 가이드pdf를 구해서 뒤졌는데도 모르겠습니다~

이곳을 '메뉴'라는 이름으로 검색해보니 팝업메뉴의 동적생성법 빼고는 제 문

제점에 해당하는 내용이 없는 듯 하더라구요..제가 검색을 제대로 못했는지도;;

조금이라도 가르쳐주신다면 정말 감사하겠습니다
1  COMMENTS