▼ Mr.XRAYさん
> これだと,ダブルクリックで本来の動作をしてしまうと思いますが.
> しませんか?
すみませんm(_ _)m
私が昨日、いろいろ(理解しないくせに)がちゃがややっていたら
成功したはずだったのですが、今日、やってみるとおっしゃるとおり
起動します。?????(#やはり幻だったのか・・・)
人は、アイコンを見たら、自然にダブルクリックする習性がありますが、
そこで、目的は選択したファイル名を取得できればいいのだから
通常の左クリックで
if (wParam = WM_LBUTTONUP) then begin<-----左クリック
GetClassName(PMOUSEHOOKSTRUCT(lParam)^.HWND,szClassName,SizeOf(szClassName));
if lstrcmp(@szClassName[0], @LV_name[1]) = 0 then begin
Form1.SpeedButton1Click(nil);
Result := HC_SKIP; <-----付けました。
end;
マスクをご説明の通り
mask := LVIS_SELECTED or LVIS_FOCUSED;<-----フォーカスを追加しました。
としてみましたら、ダブルクリックではないけど
指定したファイル名を取得でき、
アイコン以外の余白はクリックしても受け付けず、
左クリックコンテキストメニューもつかえて
万々歳だと思うのですが。
いかがでしょうか。
|