INT 15 - TopViewTopView, DESQview, TaskView, OmniView, other compatibles - SEND MESSAGE - "ADDTO" - WRITE CHARS AND ATTRIBS TO WINDOW AH = 12h BH = 0Ah BL = window to write to 00h window handle is DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. on top of stack 01h current task's default window 0Ch (DV 2.26+) default window of task owning handle on top of stack 0Dh (DV 2.26+) default window of parent of current task STACK: DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. count of attributes DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. address of attribute string DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. count of characters DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. address of character string Return: STACK popped Notes: if one string is longer than the other, the shorter one will be reused until the longer one is exhausted the cursor is left just after the last character written SeeAlso: AH=12h/BH=0Bh"WINDOW"
INT 15 - TopViewTopView, DESQview, TaskView, OmniView, other compatibles - SEND MESSAGE - "ADDTO" - SEND MAILBOX MESSAGE/STAT BY VALUE AH = 12h BH = 0Ah BL = mailbox to write to 00h handle is DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. on top of stack 02h default mailbox of task whose handle is on top of stack 03h current task's default mailbox STACK: DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. status (low byte) DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. length of message DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. address of message Return: STACK popped Notes: the message is copied into either system or common memory insufficient memory normally causes the process to be aborted; under DESQview 2.2+, failed writes may return CF set instead (see AX=DE15h) SeeAlso: AH=12h/BH=0Bh"MAILBOX"
INT 15 - TopViewTopView, DESQview, TaskView, OmniView, other compatibles - SEND MESSAGE - "ADDTO" - SET OBJECT BITS AH = 12h BH = 0Ah BL = object 00h handle is DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. on top of stack timer: start timer for specified interval pointer: set control flags (see #00451) keyboard: set control flags (see #00450) 04h set control flags on KEYBOARD object (handle on top of stack) 05h set control flags on task's default KEYBOARD object STACK: (if timer) DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. duration in 1/100 seconds (otherwise) DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. bits to set Return: STACK popped SeeAlso: AH=12h/BH=0Bh"OBJECT" Bitfields for DESQview keyboard object bits: Bit(s) Description (Table 00450) 15 reserved, can't be set 14 unused 13 reserved, can't be set 12-6 unused 5 (DV 2.2+) exclusive input 4 filter all keys (used with handler established by SETESC) if 0, only keys that would normally be displayed are filtered 3 program continues executing while input in progress 2 insert mode active for field mode 1 hardware cursor displayed when task is hardware cursor owner must be set if keyboard in field mode and field table includes input fields 0 keyboard is in field mode rather than keystroke mode Bitfields for DESQview pointer object bits: Bit(s) Description (Table 00451) 15 reserved, can't be set 14-8 unused 7 mouse pointer is hidden while in window 6 get messages even if window not topmost 5 get messages even if window not foreground 4 multiple clicks separated by less than 1/3 second are counted and returned in a single message 3 pointer position is relative to screen origin, not window origin 2 send message on button release as well as button press 1 (DV 2.23+) send message with row=FFFFh and col=FFFFh whenever the pointer leaves the window 0 send message only on button activity, not movement DV-specific, and INT 15/AX=DE0Fh must have been called first