お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





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

"リストボックスからテキストエディタへD&D"




{
ListBoxからテキストエディタへ文字列をD&Dすると任意のキャレット
位置に挿入します。テキストエディタは自分自身の TMemoや TRichEditは
言うに及ばず、メモ帳や秀丸などの外部アプリケーションでもOKです。
----------------------------------------
準備
(1)Form上に ListBoxを置き、Itemsプロパティに適当な文字列項目を設定
   しておく。
(2)uses に Clipbrdを追加する。
----------------------------------------
注意:この処理は DelphiのコンポーネントがサポートするD&Dとは別
      物ですので ListBoxの DragModeプロパティは必ず dmManualにして
      おいて下さい。
}
procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin  // 選択した項目の文字列をクリップボードへ送る
  Clipboard.AsText:= ListBox1.Items[ListBox1.ItemIndex];
end;

procedure TForm1.ListBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  L: LongInt;
  MyPos: TPoint;
  MyHandle: HWnd;
begin
  GetCursorPos(MyPos); //スクリーン上のマウスポインタ位置を取得
  MyHandle:= WindowFromPoint(MyPos); //マウスがあるウィンドウのハンドルを取得
  L:= SendMessage(MyHandle, WM_PASTE, 0, 0); // クリップボードから貼付
end;

                ☆ H-Triton (^^) since 1996 ☆
                  Avalon's Friendly Club #80008
        ♪ Merry X'mas from ☆FDELPHI Sample Magazine ♪

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


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

Copyright 1996-2002 Delphi Users' Forum