亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tntextdlgs.pas

?? TNT Components Source
?? PAS
字號:

{*****************************************************************************}
{                                                                             }
{    Tnt Delphi Unicode Controls                                              }
{      http://www.tntware.com/delphicontrols/unicode/                         }
{        Version: 2.3.0                                                       }
{                                                                             }
{    Copyright (c) 2002-2007, Troy Wolbrink (troy.wolbrink@tntware.com)       }
{                                                                             }
{*****************************************************************************}

unit TntExtDlgs;

{$INCLUDE TntCompilers.inc}

interface

uses
  Classes, Windows, TntDialogs, TntExtCtrls, TntStdCtrls, TntButtons;

type
{TNT-WARN TOpenPictureDialog}
  TTntOpenPictureDialog = class(TTntOpenDialog)
  private
    FPicturePanel: TTntPanel;
    FPictureLabel: TTntLabel;
    FPreviewButton: TTntSpeedButton;
    FPaintPanel: TTntPanel;
    FImageCtrl: TTntImage;
    FSavedFilename: WideString;
    function  IsFilterStored: Boolean;
    procedure PreviewKeyPress(Sender: TObject; var Key: Char{TNT-ALLOW Char});
  protected
    procedure PreviewClick(Sender: TObject); virtual;
    procedure DoClose; override;
    procedure DoSelectionChange; override;
    procedure DoShow; override;
    property ImageCtrl: TTntImage read FImageCtrl;
    property PictureLabel: TTntLabel read FPictureLabel;
  published
    property Filter stored IsFilterStored;
  public
    constructor Create(AOwner: TComponent); override;
    function Execute: Boolean; override;
    {$IFDEF COMPILER_9_UP}
    function Execute(ParentWnd: HWND): Boolean; override;
    {$ENDIF}
  end;

{TNT-WARN TSavePictureDialog}
  TTntSavePictureDialog = class(TTntOpenPictureDialog)
  public
    function Execute: Boolean; override;
    {$IFDEF COMPILER_9_UP}
    function Execute(ParentWnd: HWND): Boolean; override;
    {$ENDIF}
  end;

implementation

uses
  ExtDlgs, {ExtDlgs is needed for a linked resource} Dialogs, Consts, Messages,
  Graphics, Math, Controls, Forms, SysUtils, CommDlg, TntSysUtils, TntForms;

{ TTntSilentPaintPanel }

type
  TTntSilentPaintPanel = class(TTntPanel)
  protected
    procedure WMPaint(var Msg: TWMPaint); message WM_PAINT;
  end;

procedure TTntSilentPaintPanel.WMPaint(var Msg: TWMPaint);
begin
  try
    inherited;
  except
    Caption := SInvalidImage;
  end;
end;

{ TTntOpenPictureDialog }

constructor TTntOpenPictureDialog.Create(AOwner: TComponent);
begin
  inherited;
  Filter := GraphicFilter(TGraphic);
  FPicturePanel := TTntPanel.Create(Self);
  with FPicturePanel do
  begin
    Name := 'PicturePanel';
    Caption := '';
    SetBounds(204, 5, 169, 200);
    BevelOuter := bvNone;
    BorderWidth := 6;
    TabOrder := 1;
    FPictureLabel := TTntLabel.Create(Self);
    with FPictureLabel do
    begin
      Name := 'PictureLabel';
      Caption := '';
      SetBounds(6, 6, 157, 23);
      Align := alTop;
      AutoSize := False;
      Parent := FPicturePanel;
    end;
    FPreviewButton := TTntSpeedButton.Create(Self);
    with FPreviewButton do
    begin
      Name := 'PreviewButton';
      SetBounds(77, 1, 23, 22);
      Enabled := False;
      Glyph.LoadFromResourceName(FindClassHInstance(TOpenPictureDialog{TNT-ALLOW TOpenPictureDialog}), 'PREVIEWGLYPH');
      Hint := SPreviewLabel;
      ParentShowHint := False;
      ShowHint := True;
      OnClick := PreviewClick;
      Parent := FPicturePanel;
    end;
    FPaintPanel := TTntSilentPaintPanel.Create(Self);
    with FPaintPanel do
    begin
      Name := 'PaintPanel';
      Caption := '';
      SetBounds(6, 29, 157, 145);
      Align := alClient;
      BevelInner := bvRaised;
      BevelOuter := bvLowered;
      TabOrder := 0;
      FImageCtrl := TTntImage.Create(Self);
      Parent := FPicturePanel;
      with FImageCtrl do
      begin
        Name := 'PaintBox';
        Align := alClient;
        OnDblClick := PreviewClick;
        Parent := FPaintPanel;
        Proportional := True;
        Stretch := True;
        Center := True;
        IncrementalDisplay := True;
      end;
    end;
  end;
end;

procedure TTntOpenPictureDialog.DoClose;
begin
  inherited;
  { Hide any hint windows left behind }
  Application.HideHint;
end;

procedure TTntOpenPictureDialog.DoSelectionChange;
var
  FullName: WideString;
  ValidPicture: Boolean;

  function ValidFile(const FileName: WideString): Boolean;
  begin
    Result := WideFileGetAttr(FileName) <> $FFFFFFFF;
  end;

begin
  FullName := FileName;
  if FullName <> FSavedFilename then
  begin
    FSavedFilename := FullName;
    ValidPicture := WideFileExists(FullName) and ValidFile(FullName);
    if ValidPicture then
    try
      FImageCtrl.Picture.LoadFromFile(FullName);
      FPictureLabel.Caption := WideFormat(SPictureDesc,
        [FImageCtrl.Picture.Width, FImageCtrl.Picture.Height]);
      FPreviewButton.Enabled := True;
      FPaintPanel.Caption := '';
    except
      ValidPicture := False;
    end;
    if not ValidPicture then
    begin
      FPictureLabel.Caption := SPictureLabel;
      FPreviewButton.Enabled := False;
      FImageCtrl.Picture := nil;
      FPaintPanel.Caption := srNone;
    end;
  end;
  inherited;
end;

procedure TTntOpenPictureDialog.DoShow;
var
  PreviewRect, StaticRect: TRect;
begin
  { Set preview area to entire dialog }
  GetClientRect(Handle, PreviewRect);
  StaticRect := GetStaticRect;
  { Move preview area to right of static area }
  PreviewRect.Left := StaticRect.Left + (StaticRect.Right - StaticRect.Left);
  Inc(PreviewRect.Top, 4);
  FPicturePanel.BoundsRect := PreviewRect;
  FPreviewButton.Left := FPaintPanel.BoundsRect.Right - FPreviewButton.Width - 2;
  FImageCtrl.Picture := nil;
  FSavedFilename := '';
  FPaintPanel.Caption := srNone;
  FPicturePanel.ParentWindow := Handle;
  inherited;
end;

function TTntOpenPictureDialog.Execute: Boolean;
begin
  if NewStyleControls and not (ofOldStyleDialog in Options) then
    Template := 'DLGTEMPLATE' else
    Template := nil;
  Result := inherited Execute;
end;

{$IFDEF COMPILER_9_UP}
function TTntOpenPictureDialog.Execute(ParentWnd: HWND): Boolean;
begin
  if NewStyleControls and not (ofOldStyleDialog in Options) then
    Template := 'DLGTEMPLATE' else
    Template := nil;
  Result := inherited Execute(ParentWnd);
end;
{$ENDIF}

function TTntOpenPictureDialog.IsFilterStored: Boolean;
begin
  Result := not (Filter = GraphicFilter(TGraphic));
end;

procedure TTntOpenPictureDialog.PreviewClick(Sender: TObject);
var
  PreviewForm: TTntForm;
  Panel: TTntPanel;
begin
  PreviewForm := TTntForm.Create(Self);
  with PreviewForm do
  try
    Name := 'PreviewForm';
    BorderStyle := bsSizeToolWin; // By doing this first, it will work on WINE.
    Visible := False;
    Caption := SPreviewLabel;
    KeyPreview := True;
    Position := poScreenCenter;
    OnKeyPress := PreviewKeyPress;
    Panel := TTntPanel.Create(PreviewForm);
    with Panel do
    begin
      Name := 'Panel';
      Caption := '';
      Align := alClient;
      BevelOuter := bvNone;
      BorderStyle := bsSingle;
      BorderWidth := 5;
      Color := clWindow;
      Parent := PreviewForm;
      DoubleBuffered := True;
      with TTntImage.Create(PreviewForm) do
      begin
        Name := 'Image';
        Align := alClient;
        Stretch := True;
        Proportional := True;
        Center := True;
        Picture.Assign(FImageCtrl.Picture);
        Parent := Panel;
      end;
    end;
    if FImageCtrl.Picture.Width > 0 then
    begin
      ClientWidth := Min(Monitor.Width * 3 div 4,
        FImageCtrl.Picture.Width + (ClientWidth - Panel.ClientWidth)+ 10);
      ClientHeight := Min(Monitor.Height * 3 div 4,
        FImageCtrl.Picture.Height + (ClientHeight - Panel.ClientHeight) + 10);
    end;
    ShowModal;
  finally
    Free;
  end;
end;

procedure TTntOpenPictureDialog.PreviewKeyPress(Sender: TObject; var Key: Char{TNT-ALLOW Char});
begin
  if Key = Char{TNT-ALLOW Char}(VK_ESCAPE) then
    (Sender as TTntForm).Close;
end;

{ TSavePictureDialog }
function TTntSavePictureDialog.Execute: Boolean;
begin
  if NewStyleControls and not (ofOldStyleDialog in Options) then
    Template := 'DLGTEMPLATE' else
    Template := nil;

  if (not Win32PlatformIsUnicode) then
    Result := DoExecute(@GetSaveFileNameA)
  else
    Result := DoExecuteW(@GetSaveFileNameW);
end;

{$IFDEF COMPILER_9_UP}
function TTntSavePictureDialog.Execute(ParentWnd: HWND): Boolean;
begin
  if NewStyleControls and not (ofOldStyleDialog in Options) then
    Template := 'DLGTEMPLATE' else
    Template := nil;

  if (not Win32PlatformIsUnicode) then
    Result := DoExecute(@GetSaveFileNameA, ParentWnd)
  else
    Result := DoExecuteW(@GetSaveFileNameW, ParentWnd);
end;
{$ENDIF}

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
337p亚洲精品色噜噜噜| 精品无人区卡一卡二卡三乱码免费卡 | 午夜精品在线看| 欧美老肥妇做.爰bbww| 视频在线观看国产精品| 欧美福利视频一区| 精品一区二区综合| 国产欧美精品一区aⅴ影院| kk眼镜猥琐国模调教系列一区二区 | 99re这里只有精品视频首页| 亚洲综合在线视频| 91精品国产色综合久久不卡电影| 国内精品视频一区二区三区八戒| 日本一区二区三区免费乱视频| 91在线观看地址| 日韩国产精品91| 国产精品人成在线观看免费| 日本道色综合久久| 另类专区欧美蜜桃臀第一页| 日韩理论片在线| 欧美区在线观看| 粗大黑人巨茎大战欧美成人| 亚洲一级二级在线| 国产午夜亚洲精品不卡| 在线观看一区二区视频| 另类小说综合欧美亚洲| ㊣最新国产の精品bt伙计久久| 在线观看视频一区二区欧美日韩| 亚洲电影在线播放| 久久品道一品道久久精品| 91国偷自产一区二区开放时间| 午夜免费欧美电影| 中文字幕亚洲不卡| 精品欧美一区二区在线观看| 欧洲另类一二三四区| 国产一区二区在线观看免费| 亚洲一区二区三区爽爽爽爽爽 | 亚洲欧美日韩在线不卡| 日韩欧美的一区二区| 91福利小视频| 成人福利在线看| 久久国产精品露脸对白| 亚洲精品国产一区二区三区四区在线 | 欧美亚洲综合网| 丁香亚洲综合激情啪啪综合| 日本欧美一区二区在线观看| 亚洲欧美日韩在线| 久久精品一区蜜桃臀影院| 欧美精选一区二区| 色综合网色综合| 东方aⅴ免费观看久久av| 美女一区二区久久| 一区二区三区四区亚洲| 日本一区二区三区视频视频| 精品国产精品网麻豆系列| 欧美三级在线播放| 91麻豆国产香蕉久久精品| 国产酒店精品激情| 精品制服美女久久| 丝袜亚洲精品中文字幕一区| 亚洲一区欧美一区| 成人免费小视频| 国产精品污网站| 国产欧美综合在线| 久久久精品免费观看| 精品国产伦一区二区三区观看体验 | 久久精品国产精品亚洲红杏 | 欧美成人精品二区三区99精品| 欧美吻胸吃奶大尺度电影| 色妹子一区二区| 国产成人av资源| 成人小视频免费观看| 丰满少妇久久久久久久| 国产成人av电影| 成人激情视频网站| 国产激情视频一区二区在线观看 | 91在线视频免费观看| 成人网在线播放| 9i在线看片成人免费| proumb性欧美在线观看| 91蝌蚪国产九色| 欧美视频一区二区三区四区 | 欧美日韩国产在线播放网站| 欧美日韩色一区| 欧美日韩国产bt| 日韩精品专区在线影院重磅| 2024国产精品| 欧美激情综合五月色丁香小说| 欧美激情在线观看视频免费| 中文字幕不卡三区| 亚洲日本一区二区三区| 亚洲精品ww久久久久久p站| 亚洲成人黄色影院| 日韩电影在线免费看| 国产最新精品精品你懂的| 国产精品中文字幕欧美| 七七婷婷婷婷精品国产| 日韩视频免费观看高清完整版| 欧美一区二区啪啪| 国产蜜臀97一区二区三区| 亚洲日本在线天堂| 日本欧美加勒比视频| 国产曰批免费观看久久久| 成人h动漫精品| 欧美性极品少妇| www欧美成人18+| 成人欧美一区二区三区白人| 亚洲成人精品一区二区| 狠狠色丁香婷综合久久| 91视频.com| 欧美一二三区在线观看| 国产午夜精品一区二区三区嫩草| 亚洲精品免费在线观看| 丝袜国产日韩另类美女| 国产91精品入口| 欧美影视一区在线| 国产无人区一区二区三区| 亚洲自拍都市欧美小说| 国产一区二区三区精品视频| 91久久精品日日躁夜夜躁欧美| 欧美一级理论性理论a| 中文字幕五月欧美| 久久国产视频网| 欧美无乱码久久久免费午夜一区| 久久久综合激的五月天| 夜夜揉揉日日人人青青一国产精品| 日韩av二区在线播放| 成人黄色电影在线| 精品国产一区二区三区久久影院| 美女视频免费一区| 91传媒视频在线播放| 中文字幕中文字幕一区| 久久97超碰色| 欧美日韩高清一区二区不卡| 洋洋成人永久网站入口| 色视频成人在线观看免| 《视频一区视频二区| a级高清视频欧美日韩| 欧美精品一区二区三区在线| 国产精品99久久久久久久女警 | 亚洲综合成人在线| 亚洲日本成人在线观看| 久久国产精品免费| 日韩欧美国产三级| 亚洲综合激情另类小说区| 成人国产免费视频| 中文字幕免费观看一区| 久久精品国产第一区二区三区| 久久久久久久久岛国免费| 日韩美女视频在线| 91社区在线播放| 日韩精品成人一区二区在线| 欧美一区二区三区免费视频 | 成人黄色免费短视频| 久久综合一区二区| 国产中文字幕一区| 黑人巨大精品欧美黑白配亚洲| 日韩综合一区二区| 久久99国产精品久久99果冻传媒| 极品少妇xxxx偷拍精品少妇| 777亚洲妇女| 夜色激情一区二区| 日本高清不卡aⅴ免费网站| 日韩一区欧美一区| a亚洲天堂av| 1000精品久久久久久久久| 成人高清视频在线观看| 欧美激情艳妇裸体舞| 麻豆精品视频在线观看视频| 日韩欧美国产午夜精品| 六月丁香婷婷久久| 精品国产123| 丰满亚洲少妇av| ●精品国产综合乱码久久久久| 一本到三区不卡视频| 亚洲一区二区不卡免费| 7777精品伊人久久久大香线蕉 | 青青青伊人色综合久久| 精品视频一区 二区 三区| 日日噜噜夜夜狠狠视频欧美人| 欧美二区三区91| 激情小说亚洲一区| 国产精品麻豆久久久| 色老头久久综合| 日韩经典中文字幕一区| 久久色在线观看| aaa欧美色吧激情视频| 亚洲影院在线观看| 日韩午夜激情av| 国产69精品久久99不卡| 亚洲精品写真福利| 精品国产乱码久久久久久蜜臀| 国产一区二区三区在线看麻豆| 国产精品视频一区二区三区不卡| 色综合天天综合给合国产| 婷婷综合另类小说色区| 久久综合九色综合97_久久久| 91丨porny丨中文| 亚洲6080在线| 国产精品视频一区二区三区不卡|