Q&A

  • <질문>메인메뉴를 여러개 만들어서 유저마다 다른 메뉴들?
안녕하세여...

Mdi 폼을 사용하고 있는 프로젝트를 개발중입니다..

메뉴를 여러개 만들어서 유저마다 알맞은 메뉴를 보여주게 하고 싶습니다.

Form 에 보면 menu 라는 곳에 자기가 만든 mainmenu1를 연결하챦아여..

기본적으로는 mainmenu1(총무과)과 연결되어있는데

다른부서 유저가 로긴하면 mainmenu2랑 연결되어야 하는데 어떻게 하는지요..

가르쳐주세요...



2  COMMENTS
  • Profile
    youngae 2001.01.05 00:29
    하늘사랑 wrote:

    > 안녕하세여...

    > Mdi 폼을 사용하고 있는 프로젝트를 개발중입니다..

    > 메뉴를 여러개 만들어서 유저마다 알맞은 메뉴를 보여주게 하고 싶습니다.

    > Form 에 보면 menu 라는 곳에 자기가 만든 mainmenu1를 연결하챦아여..

    > 기본적으로는 mainmenu1(총무과)과 연결되어있는데

    > 다른부서 유저가 로긴하면 mainmenu2랑 연결되어야 하는데 어떻게 하는지요..

    > 가르쳐주세요...

    >

    로그인할 때 부서를 특정 변수에 넣은 후

    if 문에서 폼이름.Menu := mainmenu1;

    else 문에서 폼이름.Menu := mainmenu2;

    이렇게 구분 해주시면 될거에여...저도 그런식으로

    구현 했거든요..

  • Profile
    parkisu 2000.11.02 08:07
    안녕하세요.

    Menu의 Tag속성을 이용해 보시죠.

    총무과이면 1 인사과 2 이런 식으로 레벨을 부여하고(db에 저장하면 되겠죠.)

    사용자가 로그인 하면 레벨을 얻어와서 같은 Tag를 가진 MainMenu를 연결해 주면 되지 않을까요?





    with Query1 do begin

    Close;

    sql.Clear;

    sql.Add('select 코드,이름,레벨 from 직원디비 where 코드=:p1');

    ParamByName('p1').AsString:= Trim(Edit1.Text);

    Open;

    if EOF then begin

    ShowMessage('권한이 없는 사용자입니다!!!');

    end

    else begin

    Form1.Menu:= TMenuItem(Form1.FindComponent('MainMenu'+IntToStr(Fields [2].AsInteger)));

    end;

    end;



    이 방법이 아니면 레지스트리나 파일에 부서에 따른 메뉴구성을 저장해 놓고

    이걸 불러오는 방법을 쓸 수도 있겠군요.



    도움이 되시길...





    하늘사랑 wrote:

    > 안녕하세여...

    > Mdi 폼을 사용하고 있는 프로젝트를 개발중입니다..

    > 메뉴를 여러개 만들어서 유저마다 알맞은 메뉴를 보여주게 하고 싶습니다.

    > Form 에 보면 menu 라는 곳에 자기가 만든 mainmenu1를 연결하챦아여..

    > 기본적으로는 mainmenu1(총무과)과 연결되어있는데

    > 다른부서 유저가 로긴하면 mainmenu2랑 연결되어야 하는데 어떻게 하는지요..

    > 가르쳐주세요...

    >