Function clipboard_text_viewer
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 224 136 "Clipboard text viewer" "4"
;3 Edit 0x54200844 0x20000 0 0 224 136 ""
;END DIALOG
;DIALOG EDITOR: "" 0x2040A00 "*" "" "" ""
str controls = "3"
str e3
if(!ShowDialog(dd &sub.DlgProc &controls)) ret ;;hide dialog with flag 128
#sub DlgProc
function# hDlg message wParam lParam
dll user32 #AddClipboardFormatListener hwnd
dll user32 #RemoveClipboardFormatListener hwnd
def WM_CLIPBOARDUPDATE 0x031D
sel message
,case WM_INITDIALOG
,AddClipboardFormatListener(hDlg)
,
,case WM_DESTROY
,RemoveClipboardFormatListener(hDlg)
,
,case WM_CLIPBOARDUPDATE
,SetTimer hDlg 1 150 0 ;;get clipboard text after some time. Not now, because it creates problems for other apps and scripts, for example for QM clipboard functions.
,
,case WM_TIMER
,sel wParam
,,case 1
,,KillTimer hDlg wParam
,,str s.getclip; err
,,s.setwintext(id(3 hDlg))
,,
,
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1