PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
21509 04/09/03 10:06:22 RE(6):PB6.5: ファイルのアイコンをDWにドラッグドロップしてパスを取得する方法(回答続き) By VONGOLE
21508 04/09/03 10:06:22 RE(5):PB6.5: ファイルのアイコンをDWにドラッグドロップしてパスを取得する方法(回答続き) By VONGOLE
21507 04/09/03 10:06:18 RE(4):PB6.5: ファイルのアイコンをDWにドラッグドロップしてパスを取得する方法(回答続き) By VONGOLE
21506 04/09/02 12:59:02 RE(3):PB6.5: ファイルのアイコンをDWにドラッグドロップしてパスを取得する方法(回答続き) By ハム
21505 04/09/02 12:58:13 RE(2):PB6.5: ファイルのアイコンをDWにドラッグドロップしてパスを取得する方法(回答続き) By ハム
21504 04/09/02 12:59:39 RE(1):PB6.5: ファイルのアイコンをDWにドラッグドロップしてパスを取得する方法(回答) By ハム
21503 04/09/01 15:31:11 PB6.5: ファイルのアイコンをDWにドラッグドロップしてパスを取得する方法 By VONGOLE

カテゴリ:スクリプトの記述
日付:2004年09月02日 12:58 発信者:ハム
題名:RE(2):PB6.5: ファイルのアイコンをDWにドラッグドロップしてパスを取得する方法(回答続き)

VONGOLEさん、こんにちは。

回答の続きです。

3、リスビューコントロールにユーザイベントを宣言します。
イベント名 : ue_dragdrop
イベントID : pbm_dropfiles

[ue_dragdrop イベントのスクリプト] 

//このイベントは、ドロップされるファイルの受け取り側として登録されているアプリケーション
//のオブジェクトにカーソルがある間にマウスの左ボタンが放されたとき送られるメッセージです。
//Message.WordParm  =  HANDLE : ドロップされるファイルを記述する内部的な構造体です

Double ldb_size
ULong ll_handle
s_win32_find_data lstr_finddata
string  ls_name,ls_fullpath,ls_path
ulong  li,li_count,li_savepos,li_pos
listviewitem  ltv_item
s_list_info  lstr_info

//ドロップされたファイルの総数を取得します。(第4引数に 0 を指定します)
li_count = DragQueryFileA(message.wordparm,-1,ls_fullpath,0)
ls_fullpath = space(255)
for li = 1 to li_count
//ドロップされたファイルのファイル名を取得します。
// (第2引数にインデックスを指定します。第4引数に文字数を指定します)
DragQueryFileA(message.wordparm,li - 1,ls_fullpath,255)
//ファイルの取得
ll_handle = FindFirstFileA(ls_fullpath, lstr_finddata)
If ll_handle <= 0 Then Return -1
FindClose(ll_handle)
// ファイルサイズの計算
ldb_size = (lstr_finddata.ul_filesizehigh * (2.0 ^ 32))  + lstr_finddata.ul_filesizelow
li_pos =  Pos (ls_fullpath, \"\\\",1 )
DO WHILE li_pos > 0
li_savepos = li_pos
li_pos =  Pos (ls_fullpath, \"\\\",li_pos + 1)
LOOP
ls_Name = mid(ls_fullpath,li_savepos + 1)
ls_path = left(ls_fullpath,li_savepos - 1)
ltv_item.label = ls_Name + \"~t\" +string(Ceiling (ldb_size /1000))  + \"KB \" +  \"~t\" + 
ls_path
ltv_item.pictureindex = 1
lstr_info.filename = ls_Name
lstr_info.pathname = ls_path
lstr_info.full = ls_fullpath
lstr_info.size = ldb_size
ltv_item.data = lstr_info
//リストビューにファイル名を追加します。
lv_1.AddItem(ltv_item)
next

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows 2000
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.