zoukankan      html  css  js  c++  java
  • Delphi在Webbrowser上绘制图像

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls, OleCtrls, IEBrowser;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        CppWebBrowser1: TCppWebBrowser;
        procedure FormCreate(Sender: TObject);
        procedure FormShow(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
        OldMessage: TWndMethod;
        procedure OleMessage(var Msg: TMessage);
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      CppWebBrowser1.Navigate('www.baidu.com');
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      //WebBrowser1.Navigate('www.baidu.com');
    end;
    
    procedure TForm1.FormShow(Sender: TObject);
    begin
      OldMessage := CppWebBrowser1.WindowProc;
      CppWebBrowser1.WindowProc := OleMessage;
    end;
    
    procedure TForm1.OleMessage(var Msg: TMessage);
    var
      c: TCanvas;
      bmpBG: TBitmap;
    begin
      OldMessage(Msg);
      if Msg.Msg=WM_PAINT then
      begin
        bmpBG := TBitmap.Create;
        bmpBG.Transparent := true;
        bmpBG.LoadFromFile(ExtractFilePath(Application.ExeName) + 'back.bmp');
        c := TControlCanvas.Create;
        TControlCanvas(c).Control := CppWebBrowser1;
        c.Brush.Style := bsClear;
        c.StretchDraw(c.ClipRect, bmpBG);
      end;
    end;
    
    end.

    http://www.lsworks.net/article/100.html

  • 相关阅读:
    vue学习6
    vue学习5
    vue学习3
    vue学习2
    vue学习1
    idea快速查找和替换快捷键
    mysql三元表达式
    1 Java Lambda表达式forEach无法跳出循环的解决思路
    6 Mybatis Plus and 和 or,分页Page使用
    4 Mybatis Plus使用redis作为二级缓存
  • 原文地址:https://www.cnblogs.com/findumars/p/4998870.html
Copyright © 2011-2022 走看看