クリップボード内にあるフォーマットを列挙(U) <TOP>
クリップボード内にあるフォーマットを列挙します。
EnumClipboardFormats クリップボード内にあるフォーマットを列挙
OpenClipboard クリップボードをオープン
CloseClipboard クリップボードをクローズ
GetClipboardFormatName クリップボードのフォーマットから名前を取得
テキストをコピーした場合
画像をコピーした場合
'================================================================ '= クリップボード内のフォーマットを列挙(U) '= (GetClipboardFormatName2.bas) '================================================================ #include "Windows.bi" #define CF_TEXT 1 'テキスト形式のデータ。各行は復帰改行(CR-LF)コードで終わる #define CF_BITMAP 2 'ビットマップのデータ(HBITMAP) #define CF_METAFILEPICT 3 'メタファイル画像形式。METAFILEPICT構造体のメモリオブジェクト #define CF_SYLK 4 'Microsoftシンボリックリンク(SYLK)形式のデータ #define CF_DIF 5 'SoftwareArts社のDIFデータ交換形式 #define CF_TIFF 6 'TIFF形式の画像データ #define CF_OEMTEXT 7 'OEM文字セットの文字を持つテキスト形式データ #define CF_DIB 8 '構造体とビットマップビットからなるメモリオブジェクト #define CF_PALETTE 9 'カラーパレットのハンドル #define CF_PENDATA 10 'Windowsのペン拡張機能のためのデータ #define CF_RIFF 11 'RIFF形式の音声データ #define CF_WAVE 12 'WAVE形式の音声データ #define CF_UNICODETEXT 13 'Unicodeのテキスト形式 #define CF_ENHMETAFILE 14 '拡張メタファイルのデータです(HENHMETAFILE) #define CF_FILES 15 'FILES #define CF_HDROP 15 'HDROP型 #define CF_LOCALE 16 'テキストデータのロケールIDハンドル #define CF_DIBV5 17 ' #define CF_OWNERDISPLAY &H80 'オーナー表示形式 #define CF_DSPTEXT &H81 'プライベートな形式のテキストデータ #define CF_DSPBITMAP &H82 'プライベートな形式のビットマップデータ #define CF_DSPMETAFILEPICT &H83 'プライベートな形式の拡張メタファイルデータ #define CF_DSPENHMETAFILE &H8E 'プライベートな形式の拡張メタファイルデータ #define ERROR_SUCCESS &H0 '正常終了の戻り値を示す #define LB_SETTABSTOPS &H192 'リストボックス内のタブストップを設定する ' クリップボードをオープン Declare Function Api_OpenClipboard& Lib "user32" Alias "OpenClipboard" (ByVal hWnd&) ' クリップボード内にあるフォーマットを列挙 Declare Function Api_EnumClipboardFormats& Lib "user32" Alias "EnumClipboardFormats" (ByVal wFormat&) ' クリップボードのフォーマットから名前を取得 Declare Function Api_GetClipboardFormatName& Lib "user32" Alias "GetClipboardFormatNameA" (ByVal wFormat&, ByVal lpString$, ByVal nMaxCount&) ' クリップボードをクローズ Declare Function Api_CloseClipboard& Lib "user32" Alias "CloseClipboard" () Var Shared List1 As Object Var Shared Text1 As Object Var Shared Button1 As Object List1.Attach GetDlgItem("List1") : List1.SetFontSize 12 Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14 Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Function GetCBTypeDesc(ByVal nFormat As Long) As String Function GetCBTypeDesc(ByVal nFormat As Long) As String Var cbBuff As Long Var Buff As String Select Case nFormat Case CF_TEXT Buff = "CF_TEXT" Case CF_BITMAP Buff = "CF_BITMAP" Case CF_METAFILEPICT Buff = "CF_METAFILEPICT" Case CF_SYLK Buff = "CF_SYLK" Case CF_DIF Buff = "CF_DIF" Case CF_TIFF Buff = "CF_TIFF" Case CF_OEMTEXT Buff = "CF_OEMTEXT" Case CF_DIB Buff = "CF_DIB" Case CF_PALETTE Buff = "CF_PALETTE" Case CF_PENDATA Buff = "CF_PENDATA" Case CF_RIFF Buff = "CF_RIFF" Case CF_WAVE Buff = "CF_WAVE" Case CF_UNICODETEXT Buff = "CF_UNICODETEXT" Case CF_ENHMETAFILE Buff = "CF_ENHMETAFILE" Case CF_FILES, CF_HDROP Buff = "CF_FILES/CF_HDROP" Case CF_LOCALE Buff = "CF_LOCALE" Case CF_DIBV5 Buff = "CF_DIBV5" Case CF_OWNERDISPLAY Buff = "CF_OWNERDISPLAY" Case CF_DSPTEXT Buff = "CF_DSPTEXT" Case CF_DSPBITMAP Buff = "CF_DSPBITMAP" Case CF_DSPMETAFILEPICT Buff = "CF_DSPMETAFILEPICT" Case CF_DSPENHMETAFILE Buff = "CF_DSPENHMETAFILE" Case Else Buff = String$(256, Chr$(0)) cbBuff = Len(Buff) If Api_GetClipboardFormatName(nFormat, Buff, cbBuff) = 0 Then Buff = "Unknown : " & Str$(nFormat) Else Buff = "Private : " & Buff End If End Select GetCBTypeDesc = Buff End Function '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var fmt As Long List1.ResetContent If Api_OpenClipboard(0) <> 0 Then Do fmt = Api_EnumClipboardFormats(fmt) If fmt > ERROR_SUCCESS Then List1.AddString GetCBTypeDesc(fmt) End If Loop Until fmt = ERROR_SUCCESS Ret = Api_CloseClipboard End If Text1.SetWindowText Str$(List1.GetCount) & "フォーマット" End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End