いつもご指導頂いております。
環境はWin2kでDelphi7エンタープライズです。
画像ファイルなどを移動する場合、ドラッグ&ドロップにより移動したいと考えました。
そこで皆様のサイトなどで勉強しております。
ここで突き当たった問題がWMDropFilesです。
例として
procedure TForm1.WMDropFiles(var xxx: TWMDropFiles);
というような記述があります。
そこで WMDropFiles は、ドラッグ&ドロップに関することなのかな?と考えヘルプを見てみました。
しかし、私の使っているDelphi7にはWMDropFilesに関することが見つかりませんでした。
似たような言葉を探したところ
「DragDrop メソッドは,OnDragDrop イベントのディスパッチャです。」
や
「OnDragOver イベントは,ユーザーがコントロール上でオブジェクトをドラッグしたときに発生します。」
が見つかったくらいです。
WMDropFilesというのは、Delphi7では「OnDragDrop」か「OnDragOver」のことを言うのでしょうか。
教えてください。
>procedure TForm1.WMDropFiles(var xxx: TWMDropFiles);
このWMDropFilesという名前は、
WM_DROPFILESメッセージを処理する手続きにつけた名前で
通常、メッセージから'_'を取ったものを名前とするのが分かりやすいので
そうしてるだけ。名前は何でもあっても構わない。
ご指導、ありがとうございます。
私は、どうもドラッグ&ドロップを勘違いしているようです。
もう少し考えを整理して勉強し直します。
今後ともよろしくお願いします。
Mr.XRAYです.
>私は、どうもドラッグ&ドロップを勘違いしているようです。
えっーとですね.そういう問題ではないと思いますよ.
今回のような場合,ネット上や参考書で調べる時は,interface(宣言部)に注目します.
例えば,以下の図9の場合,最後の方に
message WM_COPYDATA
http://mrxray.on.coocan.jp/Others/A_IDETechnique.htm#07
とあります.この最後のWM_XXXXXを検索したりするといいです.
既にレスがあるように,関数やイベント等の名前は任意です.
Delphi2009であればこんな名前も付けられます.
type
TForm3 = class(TForm)
Button1: TButton;
procedure ボタンクリック(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.ボタンクリック(Sender: TObject);
var
表示文字列 : String;
begin
表示文字列 := 'こんにちは';
ShowMessage(表示文字列);
end;
>WMDropFilesというのは、Delphi7では「OnDragDrop」か「OnDragOver」のことを言うのでしょうか。
どちらもメッセージの処理ですが,OnDragDrop等は,Delphiが実装しているイベントというメッセージ処理です.
http://mrxray.on.coocan.jp/Others/A_UltraIntro01.htm#05
今回の場合は,WM_DROPFILESをネットで調べてみてください.
以下のページに,使えそうなサイトへのリンクがあります.
http://mrxray.on.coocan.jp/Others/A_Win32APIHelp02.htm
Delphi7でしたら,Win32 APIの,古いですが,ヘルプもあります.
http://mrxray.on.coocan.jp/Others/A_Win32APIHelp.htm
Mr.XRAYさん、朝早くからご指導頂き感謝しております。ありがとうございます。
また、Mr.XRAY さんのHPは勉強でも参考にさせてもらっています。
しかし、ご指定のサイトは見ていませんでした。
(膨大な量に)正直、見ましたら「ブルッ」と身震いしました。
改めて、深い青い海を見たような奥の深さを感じております。
少しずつですが勉強させて頂きます。
ありがとうございます。
ツイート | ![]() |