お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"TEditor 外部からWM_PASTE"



TMemoや TRichEditに WM_PASTEを送るとクリップボードのテキストを貼り付け
ることができます。

でも、TEditorの場合は、先祖が異なるため同じことをしても知らん顔されて
しまいます。
そこで、TEditor継承した拡張コンポーネントで対応することとします。

//--------------- ここから ----------

unit LEditor;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  HEditor, Clipbrd;

type
  TLEditor = class(TEditor)
  private
    { Private 宣言 }
    procedure WmPaste(var Message: TWmPaste); message WM_PASTE;
  protected
    { Protected 宣言 }
  public
    { Public 宣言 }
  published
    { Published 宣言 }
    property OnHorzScroll: TNotifyEvent read FOnHorzScroll write FOnHorzScroll;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('MyCompo', [TLEditor]);
end;

// TEditorは WM_PASTEを受け取っただけでは何もしないので、メッセージ
// ハンドラーにやるべきことを書いて教えてあげます。
procedure TLEditor.WmPaste(var Message: TWmPaste);
begin
  if Clipboard.HasFormat(CF_TEXT) then SelText:= Clipboard.AsText;
end;

end.

//------------ ここまで -----------

           ○ 極楽通信環境 AvalonU  nifty:FAVALON/LIB/3/59 ○
           ● 極道録眼鏡「えるつぅ」 nifty:FAVALON/LIB/3/60 ●
         Avalon's Friendly Crew #80008  H-Triton (^^) since 1996

Original document by H-Triton        氏 ID:(QZV11422)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum