Q&A

  • AutoHotKeys 버그에 대해...

안녕하세요...
델마당에 "ToolBar를 이용해서 MainMenu를 맹글때의 AutoHotKeys 버그 패치입니다" 라고 양병규님이 올리신 자료가 있는데...
http://www.delmadang.com/cwb-bin/CrazyWWWBoard.exe?db=dmdres2&mode=read&num=1260&page=1&backdepth=1

예전에 올리셨는데 이거 델7 버젼용을 어떻게 구할수 없을까요?
아니면 어떻게 소스를 수정해야 하는지 좀 가르쳐주세요...
아무리 찾아도 자료가 없습니다.
희망을 걸어보면 그럼...

1  COMMENTS
  • Profile
    박진수 2004.02.09 18:55
    TToolButton에 TMainMenu의 Item을 연결해서 사용하는 경우가 많이 있습니다.

    그런데, 이전부터 이 경우에 TMainMenu의 AutoHotKeys를 maManual로 두어도 TToolButton에 연결하기만 하면 AutoHotKeys가 붙어 나오는 버그가 있었습니다.

    Delphi7에서도 여전히 이 버그는 남아 있더군요.


    이 문제를 수정하는 방법입니다.

    먼저 Delphi\Source\VCL\ComCtrls.pas 파일을 다른 폴더로 하나 복사합니다.(이전꺼를 남겨두기 위해서... 또 lib 밑에 있는 dcu도 같이..   행여 어찌될지 몰라.. )

    그런 다음 복사 한 파일을 열고 수정합니다.

    function TToolBar.CheckMenuDropdown(Button: TToolButton): Boolean;
    이 부분을 찾아서 가면

       else if Button.MenuItem <> nil then
       begin
         Button.MenuItem.Click;
         ClearTempMenu;
         FTempMenu := TPopupMenu.Create(Self);
         이런 부분이 있습니다. 요기에 다음 줄을 삽입합니다.
         FTempMenu.AutoHotKeys := Button.MenuItem.AutoHotKeys;

    끝입니다.  -_-;

    수정된 파일을 컴파일 해서 ComCtrls.dcu 파일이 만들어 지면 Delphi\Lib 폴더에 넣어주시면 됩니다.