Delphi 如何在TWebBrowser(设计模式)中忽略加速器字符
我的问题与本问题中描述的问题基本相同: 因此,Delphi 如何在TWebBrowser(设计模式)中忽略加速器字符,delphi,webbrowser-control,c++builder,twebbrowser,Delphi,Webbrowser Control,C++builder,Twebbrowser,我的问题与本问题中描述的问题基本相同: 因此,TWebBrowser处于设计模式,来自TAction的加速键正在执行相关操作 解决办法是: type TWebBrowser = class(SHDocVw.TWebBrowser) procedure CNChar(var Message: TWMChar); message CN_CHAR; end; ... procedure TWebBrowser.CNChar(var Message: TWMChar); begin
TWebBrowser
处于设计模式,来自TAction
的加速键正在执行相关操作
解决办法是:
type
TWebBrowser = class(SHDocVw.TWebBrowser)
procedure CNChar(var Message: TWMChar); message CN_CHAR;
end;
...
procedure TWebBrowser.CNChar(var Message: TWMChar);
begin
Message.Result := 0;
end;
我想尝试一下上面提到的解决方案,但是我很难把它翻译成C++ Builder代码。我如何翻译和-还有其他解决方案,而不下降<代码> TWebBuild>和重写<代码> CNCHAR 程序(可能在<代码> TFrase<代码>事件中执行)?< /P> < P>翻译为C++ Builder(信用给Remy Lebeau)。
< P>翻译为C++ Builder(信用给Remy Lebeau)。
class TWebBrowser : public Shdocvw::TWebBrowser
{
private:
MESSAGE void __fastcall CNChar(TWMChar &Message);
public:
inline __fastcall virtual TWebBrowser(TComponent* AOwner) : Shdocvw::TWebBrowser(AOwner) { }
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(CN_CHAR, TWMChar, CNChar);
END_MESSAGE_MAP(Shdocvw::TWebBrowser)
};
...
void __fastcall TWebBrowser::CNChar(TWMChar &Message)
{
Message.Result = 0;
}