PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
1050 | 98/03/26 17:56:57 | RE(13)::複数ファイル処理です By てとらぽっと |
1047 | 98/03/26 10:26:10 | RE(12):複数ファイル処理です By nari |
1046 | 98/03/26 10:22:49 | RE(11):なんとかできました&サンプルスクリプト By nari |
1042 | 98/03/25 16:59:36 | RE(10):複数ファイル処理です By てとらぽっと |
1040 | 98/03/25 16:40:01 | RE(9):おめでとうございます!!! By Taka |
1039 | 98/03/25 16:10:31 | RE(8):なんとかできました&サンプルスクリプト By てとらぽっと |
1024 | 98/03/24 22:15:40 | RE(7):pbm_dropfiles がアヤシイと思う By Taka |
1018 | 98/03/24 18:25:02 | RE(6):MDIフレームにファイルをドロップしたい(APIの質問) By nari |
1017 | 98/03/24 18:22:33 | RE(5):MDIフレームにファイルをドロップしたい(APIの質問) By nari |
1006 | 98/03/24 12:20:36 | RE(4):コールできました、あ、エラー? By てとらぽっと |
992 | 98/03/23 18:56:28 | RE(3):コールできました、あ、エラー? By Taka |
987 | 98/03/23 18:26:45 | RE(2):コールできました、あ、エラー? By てとらぽっと |
970 | 98/03/23 13:01:28 | RE(1):ムム、やってますね? By Taka |
967 | 98/03/23 12:09:31 | MDIフレームにファイルをドロップしたい(APIの質問) By てとらぽっと |
カテゴリ:旧電子会議室
日付:1998年03月24日 18:25 発信者:nari
題名:RE(6):MDIフレームにファイルをドロップしたい(APIの質問)
>MDIフレームにファイルをドロップして開く、というユーザーインターフェースを
>作ろうとして、APIの呼び出しでつまずいています。
DragQueryFilesについてです。
PROTOTYPE宣言は
UINT DragQueryFile(HDROP hDrop, UINT iFile, LPTSTR lpszFile, UINT cch)
です。
(1) hDrop は 内部ドロップ構造体へのハンドルで、WM_DROPFILESメッセージから
渡されるものです。
# つまりは pbm_dropfiles から渡される引数 long handle がそれです。
(2) iFile は 処理すべきファイル数ですので、Dropしたファイルが一個なら 1、
二個なら 2 を指定します。
# iFile に0xFFFFFFFFを与えてDragQueryFilesを呼び出すとDropされた
# ファイル数を返却するそうです
(3) lpszFile はファイル名が格納される文字列で、ポインタ渡しですのでPBでは
REF で渡す必要があります。
# 文字列格納領域の先頭へのポインタですので、領域確保してから
# 先頭アドレスを渡します。
# PBでは string変数にdummyの文字列を格納してあげればいいです。
(4) cch はバッファサイズですので、(3)で確保した領域のbyte数を与えます。
pbm_dropfilesを与えたuser eventで以下のようなscriptを書けばいいんじゃないでしょうか?
// variables
long hDrop; // structure handle
UINT iFile; // drop file number
UINT iBuffSize; // buffer length
UINT iFileNmaeSize // file name length
string strFile; // buffer
// init procces
hDrop = handle; // get structure handle
iBuffSize = DragQueryFile(hDrop, 0, NULL, 0); // buffer size
strFile = space(iBuffSize + 1); // allocate buffer
iFile = DragQueryFile(hDrop, 0xFFFFFFFF, strFile, 0); // get file number
// call DragQueryFile()
iFileNmaeSize = DragQueryFile(hDrop, iFile, strFile, iBuffSize); // get drop file name
未compileですんで参考までに。
ではでは。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.