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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.