📄 browserpage.h
字号:
/*
This file is part of KCeasy (http://www.kceasy.com)
Copyright (C) 2002-2004 Markus Kern <mkern@kceasy.com>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
*/
//---------------------------------------------------------------------------
#ifndef BrowserPageH
#define BrowserPageH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <ComCtrls.hpp>
#include <ExtCtrls.hpp>
#include <ToolWin.hpp>
#include <OleCtrls.hpp>
#include <Menus.hpp>
#include "SHDocVw_OCX.h"
#include "BrowserUtils.h"
#include "BrowserWrapper.h"
#include "Bookmark.h"
#include <ImgList.hpp>
#include <Graphics.hpp>
//---------------------------------------------------------------------------
class TBrowserForm : public TForm
{
__published: // IDE-managed Components
TPanel *CtrlPanel;
TSpeedButton *StopBtn;
TSpeedButton *RefreshBtn;
TSpeedButton *HomeBtn;
TSpeedButton *ForwardBtn;
TSpeedButton *BackBtn;
TSpeedButton *BookmarkBtn;
TEdit *UrlEdit;
TBevel *BottomLineBevel;
TSpeedButton *GoBtn;
TTabControl *TabControl;
TPanel *BrowserPanel;
TPanel *TabPanel;
TPopupMenu *TabPopupMenu;
TMenuItem *CloseTabMnu;
TMenuItem *NewTabMnu;
TMenuItem *CloseAllOtherTabsMnu;
TMenuItem *N1;
TImageList *BrowserImageList;
TAnimate *StatusAnimate;
TImage *PopupImage;
TSpeedButton *NewTabBtn;
void __fastcall BackBtnClick(TObject *Sender);
void __fastcall ForwardBtnClick(TObject *Sender);
void __fastcall RefreshBtnClick(TObject *Sender);
void __fastcall StopBtnClick(TObject *Sender);
void __fastcall HomeBtnClick(TObject *Sender);
void __fastcall BookmarkBtnClick(TObject *Sender);
void __fastcall UrlEditKeyPress(TObject *Sender, char &Key);
void __fastcall GoBtnClick(TObject *Sender);
void __fastcall TabControlChange(TObject *Sender);
void __fastcall NewTabMnuClick(TObject *Sender);
void __fastcall CloseTabMnuClick(TObject *Sender);
void __fastcall CloseAllOtherTabsMnuClick(TObject *Sender);
void __fastcall TabControlGetImageIndex(TObject *Sender, int TabIndex,
int &ImageIndex);
void __fastcall TabControlMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall NewTabBtnClick(TObject *Sender);
void __fastcall UrlEditKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
protected:
void __fastcall LaunchBookmarkMnuClick(TObject *Sender);
void __fastcall RemoveBookmarkMnuClick(TObject *Sender);
void __fastcall AddBookmarkMnuClick(TObject *Sender);
void __fastcall BrowserTitleChange(TObject *Sender, BSTR Title);
void __fastcall BrowserCommandStateChange(TObject *Sender,
long Command, VARIANT_BOOL Enable);
void __fastcall TBrowserForm::BrowserProgressChange(TObject* Sender,
long Progress, long ProgressMax);
void __fastcall BrowserNewWindow2(TObject *Sender,
LPDISPATCH *ppDisp, VARIANT_BOOL *Cancel);
void __fastcall BrowserWindowClosing(TObject * Sender,
VARIANT_BOOL IsChildWindow, VARIANT_BOOL* Cancel);
void __fastcall BrowserBeforeNavigate2(TObject *Sender,
LPDISPATCH pDisp, VARIANT *URL, VARIANT *Flags,
VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers,
VARIANT_BOOL *Cancel);
void __fastcall TBrowserForm::BrowserDocumentComplete(TObject *Sender,
IDispatch *pDisp, VARIANT *URL);
void __fastcall BrowserStatusTextChange(TObject *Sender, BSTR StatusText);
void __fastcall BrowserNavigateError(TObject *Sender,
LPDISPATCH pDisp, VARIANT *URL, VARIANT *Frame,
VARIANT *StatusCode, VARIANT_BOOL *Cancel);
private: // User declarations
TPopupMenu* BookmarkPopup;
TBookmarkManager* Bookmarks;
bool BlockNewWindows;
bool HandleMagnets;
// tab management
TBrowserWrapper* CreateTab(bool SwitchToTab = true);
void CloseTab(int Index);
void CloseAllOtherTabs(int Index);
void SetTabCaption(int Index, AnsiString Caption);
TBrowserWrapper* GetActiveBrowserWrapper();
TCppWebBrowser* GetActiveBrowser();
public: // User declarations
__fastcall TBrowserForm(TComponent* Owner);
__fastcall ~TBrowserForm();
bool __fastcall EngineCallback(TCallbackInfo* CbInfo);
void __fastcall PageActivated();
void __fastcall ConfigChanged();
void NavigateTo(const string Url, bool NewTab = true,
bool SwitchToTab = true);
void NavigateToResource(const string Url, bool NewTab = true,
bool SwitchToTab = true);
void NavigateToHome();
void CloseAllTabs();
};
//---------------------------------------------------------------------------
extern PACKAGE TBrowserForm *BrowserForm;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -