안녕하세요...
델마당에 "ToolBar를 이용해서 MainMenu를 맹글때의 AutoHotKeys 버그 패치입니다" 라고 양병규님이 올리신 자료가 있는데...
http://www.delmadang.com/cwb-bin/CrazyWWWBoard.exe?db=dmdres2&mode=read&num=1260&page=1&backdepth=1
예전에 올리셨는데 이거 델7 버젼용을 어떻게 구할수 없을까요?
아니면 어떻게 소스를 수정해야 하는지 좀 가르쳐주세요...
아무리 찾아도 자료가 없습니다.
희망을 걸어보면 그럼...
그런데, 이전부터 이 경우에 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 폴더에 넣어주시면 됩니다.