1 jls.loader.provide('jls.win32.Button');
  2 
  3 jls.loader.require('jls.win32.Window');
  4 
  5 jls.win32.Button = jls.lang.Class.create(jls.win32.Window,
  6 {
  7     initialize : function($super, name, style, x, y, w, h, parent, id, exStyle, param) {
  8         $super(jls.win32.Button.CLASSNAME, name, style, x, y, w, h, parent, id, exStyle, param);
  9     },
 10     getSelected : function() {
 11         var sel = this.sendMessage(jls.win32.Button.BM_GETCHECK, 0, 0);
 12         return sel == jls.win32.Button.BST_CHECKED;
 13     },
 14     setSelected : function(value) {
 15         if (this._window != null) {
 16             this.sendMessage(jls.win32.Button.BM_GETCHECK, value ? jls.win32.Button.BST_CHECKED : jls.win32.Button.BST_UNCHECKED, 0);
 17         }
 18         return this;
 19     }
 20 });
 21 
 22 Object.extend(jls.win32.Button,
 23 {
 24     BS_3STATE                : 0x00000005,
 25     BS_AUTO3STATE            : 0x00000006,
 26     BS_AUTOCHECKBOX          : 0x00000003,
 27     BS_AUTORADIOBUTTON       : 0x00000009,
 28     BS_BITMAP                : 0x00000080,
 29     BS_BOTTOM                : 0x00000800,
 30     BS_CENTER                : 0x00000300,
 31     BS_CHECKBOX              : 0x00000002,
 32     BS_DEFPUSHBUTTON         : 0x00000001,
 33     BS_GROUPBOX              : 0x00000007,
 34     BS_ICON                  : 0x00000040,
 35     BS_LEFT                  : 0x00000100,
 36     BS_LEFTTEXT              : 0x00000020,
 37     BS_MULTILINE             : 0x00002000,
 38     BS_NOTIFY                : 0x00004000,
 39     BS_OWNERDRAW             : 0x0000000b,
 40     BS_PUSHBUTTON            : 0x00000000,
 41     BS_PUSHLIKE              : 0x00001000,
 42     BS_RADIOBUTTON           : 0x00000004,
 43     BS_RIGHT                 : 0x00000200,
 44     BS_RIGHTBUTTON           : 0x00000020,
 45     BS_TEXT                  : 0x00000000,
 46     BS_TOP                   : 0x00000400,
 47     BS_USERBUTTON            : 0x00000008,
 48     BS_VCENTER               : 0x00000c00,
 49     BS_FLAT                  : 0x00008000,
 50     BS_3STATE                : 0x00000005,
 51 
 52     BM_GETCHECK              : 0x000000F0,
 53     BM_SETCHECK              : 0x000000F1,
 54     BM_GETSTATE              : 0x000000F2,
 55     BM_SETSTATE              : 0x000000F3,
 56     BM_CLICK                 : 0x000000F5,
 57     BM_SETIMAGE              : 0x000000F7,
 58     
 59     BST_UNCHECKED            : 0,
 60     BST_CHECKED              : 1,
 61     BST_INDETERMINATE        : 2,
 62     BST_PUSHED               : 4,
 63     BST_FOCUS                : 8,
 64 
 65     CLASSNAME: 'Button'
 66 });
 67