1. 개요
크롬 웹브라우저를 임베딩(Embedding) 시킨 상태에서 웹브라우저의 팝업메뉴(Context Menu)에 사용자 정의 메뉴 항목을 추가하고 구현해 보자.
2. Context 메뉴 ID 정의
unit uCEFConstants 에 기본정의된 사용자ID 상수로 부터 출발 하도록 하나.
const MENU_ID_USER_FIRST = 26500;
사용자 정의 Context ID
const
MENU_ID_MYFIRST_CONTEXT = MENU_ID_USER_FIRST + 1;
3. Context Menu 항목 추가
TChromium.OnBeforeContextMenu 이벤트 핸들러에서 항목 추가
procedure TForm1.Chromium1BeforeContextMenu(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; const model: ICefMenuModel); begin // 여기에 메뉴 항목을 추가 한다. model.AddSeparator; model.AddItem(MENU_ID_MYFIRST_CONTEXT, 'Show "Hello"'); end;
4. Context Menu 실행코드 등록
TChromium.OnContextMenuCommand 이벤트 핸들러에 작성
procedure TForm1.Chromium1ContextMenuCommand(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; commandId: Integer; eventFlags: Cardinal; out Result: Boolean); begin Result := False; case commandId of MENU_ID_MYFIRST_CONTEXT ://추가한 메뉴의 실행 코드를 등록한다 begin ShowMessage('Hello'); end; end; end;
'프로그래밍 > Chromium(CEF4Delphi)' 카테고리의 다른 글
[Chromium] CEF4Delphi - DOM탐색을 위한 메시지처리 개념잡기 (0) | 2021.06.16 |
---|---|
[Chromium] CEF4Delphi - RTTI를 이용한 JavaScript 실행 및 결과 처리 (0) | 2019.10.30 |
[Chromium] CEF4Delphi - 자바스크립트로 델파이 코드 실행 (0) | 2019.09.30 |
[Chromium] CEF4Delphi - 크롬브라우저 팝업메뉴 추가 및 실행 (0) | 2019.09.25 |
[Chromium] CEF4Delphi - Javascript 유효성 체크(Evaluate Javascript) (0) | 2019.09.19 |