fzeet 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. data/examples/Dialog/Dialog.rbw +2 -2
  2. data/examples/Raw/UIRibbon/Command.dll +0 -0
  3. data/examples/Raw/UIRibbon/Command.rb +17 -11
  4. data/examples/Raw/UIRibbon/Command.xml +6 -0
  5. data/examples/Raw/UIRibbon/Minimal.dll +0 -0
  6. data/examples/Raw/UIRibbon/Minimal.rb +10 -6
  7. data/examples/Raw/UIRibbon/Minimal.xml +4 -0
  8. data/examples/UIRibbon/Color.rbw +12 -0
  9. data/examples/UIRibbon/Command.dll +0 -0
  10. data/examples/UIRibbon/Command.rb +17 -11
  11. data/examples/UIRibbon/Command.xml +6 -0
  12. data/examples/UIRibbon/ContextPopup.dll +0 -0
  13. data/examples/UIRibbon/ContextPopup.rb +23 -0
  14. data/examples/UIRibbon/ContextPopup.rbw +12 -0
  15. data/examples/UIRibbon/ContextPopup.xml +83 -0
  16. data/examples/UIRibbon/Minimal.dll +0 -0
  17. data/examples/UIRibbon/Minimal.rb +10 -6
  18. data/examples/UIRibbon/Minimal.xml +4 -0
  19. data/examples/Version.rbw +5 -0
  20. data/examples/res/go-next-big.bmp +0 -0
  21. data/examples/res/go-previous-big.bmp +0 -0
  22. data/lib/fzeet/Accelerator.rb +23 -3
  23. data/lib/fzeet/Application.rb +1 -1
  24. data/lib/fzeet/{common.rb → Common.rb} +2 -50
  25. data/lib/fzeet/{ControlButton.rb → Control/Button.rb} +1 -1
  26. data/lib/fzeet/{ControlCommon.rb → Control/Common.rb} +1 -1
  27. data/lib/fzeet/Control.rb +1 -1
  28. data/lib/fzeet/Dialog/Common.rb +5 -0
  29. data/lib/fzeet/{DialogFileDialog.rb → Dialog/FileDialog.rb} +1 -43
  30. data/lib/fzeet/Dialog/FolderDialog.rb +45 -0
  31. data/lib/fzeet/Dialog.rb +2 -1
  32. data/lib/fzeet/Menu.rb +77 -77
  33. data/lib/fzeet/UIRibbon.rb +86 -1
  34. data/lib/fzeet/{WindowCommon.rb → Window/Common.rb} +52 -2
  35. data/lib/fzeet/{WindowDialog.rb → Window/Dialog.rb} +6 -6
  36. data/lib/fzeet/{WindowWindow.rb → Window/Window.rb} +1 -1
  37. data/lib/fzeet/{WindowMethods.rb → Window/WindowMethods.rb} +49 -43
  38. data/lib/fzeet/Window.rb +2 -2
  39. data/lib/fzeet/windows/com.rb +97 -15
  40. data/lib/fzeet/windows/{comctlbutton.rb → comctl/Button.rb} +1 -1
  41. data/lib/fzeet/windows/{comctlcommon.rb → comctl/Common.rb} +1 -1
  42. data/lib/fzeet/windows/comctl.rb +1 -1
  43. data/lib/fzeet/windows/{comdlgcommon.rb → comdlg/Common.rb} +1 -1
  44. data/lib/fzeet/windows/{comdlgofn.rb → comdlg/FileDialog.rb} +1 -1
  45. data/lib/fzeet/windows/comdlg.rb +1 -1
  46. data/lib/fzeet/windows/common.rb +80 -5
  47. data/lib/fzeet/windows/gdi.rb +30 -0
  48. data/lib/fzeet/windows/kernel.rb +74 -21
  49. data/lib/fzeet/windows/ole.rb +60 -0
  50. data/lib/fzeet/windows/propsys.rb +40 -0
  51. data/lib/fzeet/windows/shell/Common.rb +10 -0
  52. data/lib/fzeet/windows/shell/FolderDialog.rb +39 -0
  53. data/lib/fzeet/windows/shell.rb +1 -43
  54. data/lib/fzeet/windows/uiribbon.rb +275 -18
  55. data/lib/fzeet/windows/user/Accelerator.rb +182 -0
  56. data/lib/fzeet/windows/user/Common.rb +33 -0
  57. data/lib/fzeet/windows/{userctlbutton.rb → user/Control/Button.rb} +1 -1
  58. data/lib/fzeet/windows/{userctlcommon.rb → user/Control/Common.rb} +1 -1
  59. data/lib/fzeet/windows/user/Control.rb +1 -0
  60. data/lib/fzeet/windows/user/Menu.rb +115 -0
  61. data/lib/fzeet/windows/{usermsg.rb → user/Message.rb} +1 -3
  62. data/lib/fzeet/windows/{usermbox.rb → user/MessageBox.rb} +1 -5
  63. data/lib/fzeet/windows/user/SystemParametersInfo.rb +244 -0
  64. data/lib/fzeet/windows/{userwnd.rb → user/Window.rb} +70 -38
  65. data/lib/fzeet/windows/user.rb +7 -7
  66. data/lib/fzeet/windows.rb +2 -73
  67. data/lib/fzeet.rb +1 -1
  68. metadata +39 -27
  69. data/lib/fzeet/DialogCommon.rb +0 -5
  70. data/lib/fzeet/windows/usercommon.rb +0 -8
  71. data/lib/fzeet/windows/userctl.rb +0 -1
  72. data/lib/fzeet/windows/userkbd.rb +0 -20
  73. data/lib/fzeet/windows/usermenu.rb +0 -50
  74. data/lib/fzeet/windows/userspi.rb +0 -29
  75. /data/examples/Dialog/{FileDialog.rbw → FileAndFolderDialog.rbw} +0 -0
@@ -24,7 +24,7 @@ Application.run { |window|
24
24
  }
25
25
 
26
26
  Button.new(window, :modal, x: 90, y: 10, width: 76, height: 24) {
27
- message(Dialog.new(window, modal: true, caption: 'Modal', x: 150, y: 150) { |args|
27
+ message Dialog.new(window, modal: true, caption: 'Modal', x: 150, y: 150) { |args|
28
28
  dialog = args[:window]
29
29
 
30
30
  Button.new(dialog, :ok, x: 228, y: 242, width: 76, height: 24) {
@@ -38,6 +38,6 @@ Application.run { |window|
38
38
  Button.new(dialog, :button1, x: 10, y: 10, width: 76, height: 24) {
39
39
  dialog.message 'clicked'
40
40
  }
41
- }.result.ok?)
41
+ }.result.ok?
42
42
  }
43
43
  }
Binary file
@@ -9,16 +9,22 @@ CmdTab1Group1_LabelTitle_RESID = 60002
9
9
  CmdTab1Group1_LabelDescription_RESID = 60003
10
10
  CmdTab1Group1_TooltipDescription_RESID = 60004
11
11
  CmdTab1Group1_SmallImages_RESID = 60005
12
- CmdTab1Group1_LargeImages_RESID = 60006
12
+ CmdTab1Group1_SmallImages_120__RESID = 60006
13
+ CmdTab1Group1_LargeImages_RESID = 60007
14
+ CmdTab1Group1_LargeImages_120__RESID = 60008
13
15
  CmdItem1 = 6
14
- CmdItem1_LabelTitle_RESID = 60007
15
- CmdItem1_LabelDescription_RESID = 60008
16
- CmdItem1_TooltipDescription_RESID = 60009
17
- CmdItem1_SmallImages_RESID = 60010
18
- CmdItem1_LargeImages_RESID = 60011
16
+ CmdItem1_LabelTitle_RESID = 60009
17
+ CmdItem1_LabelDescription_RESID = 60010
18
+ CmdItem1_TooltipDescription_RESID = 60011
19
+ CmdItem1_SmallImages_RESID = 60012
20
+ CmdItem1_SmallImages_120__RESID = 60013
21
+ CmdItem1_LargeImages_RESID = 60014
22
+ CmdItem1_LargeImages_120__RESID = 60015
19
23
  CmdButton1 = 7
20
- CmdButton1_LabelTitle_RESID = 60012
21
- CmdButton1_LabelDescription_RESID = 60013
22
- CmdButton1_TooltipDescription_RESID = 60014
23
- CmdButton1_SmallImages_RESID = 60015
24
- CmdButton1_LargeImages_RESID = 60016
24
+ CmdButton1_LabelTitle_RESID = 60016
25
+ CmdButton1_LabelDescription_RESID = 60017
26
+ CmdButton1_TooltipDescription_RESID = 60018
27
+ CmdButton1_SmallImages_RESID = 60019
28
+ CmdButton1_SmallImages_120__RESID = 60020
29
+ CmdButton1_LargeImages_RESID = 60021
30
+ CmdButton1_LargeImages_120__RESID = 60022
@@ -9,27 +9,33 @@
9
9
  <Command Name='cmdTab1Group1' LabelTitle='&amp;Group1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
10
10
  <Command.SmallImages>
11
11
  <Image>../../res/go-next-small.bmp</Image>
12
+ <Image MinDPI='120'>../../res/go-next.bmp</Image>
12
13
  </Command.SmallImages>
13
14
  <Command.LargeImages>
14
15
  <Image>../../res/go-next.bmp</Image>
16
+ <Image MinDPI='120'>../../res/go-next-big.bmp</Image>
15
17
  </Command.LargeImages>
16
18
  </Command>
17
19
 
18
20
  <Command Name='cmdItem1' LabelTitle='&amp;Item1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
19
21
  <Command.SmallImages>
20
22
  <Image>../../res/go-previous-small.bmp</Image>
23
+ <Image MinDPI='120'>../../res/go-previous.bmp</Image>
21
24
  </Command.SmallImages>
22
25
  <Command.LargeImages>
23
26
  <Image>../../res/go-previous.bmp</Image>
27
+ <Image MinDPI='120'>../../res/go-previous-big.bmp</Image>
24
28
  </Command.LargeImages>
25
29
  </Command>
26
30
 
27
31
  <Command Name='cmdButton1' LabelTitle='&amp;Button1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
28
32
  <Command.SmallImages>
29
33
  <Image>../../res/go-next-small.bmp</Image>
34
+ <Image MinDPI='120'>../../res/go-next.bmp</Image>
30
35
  </Command.SmallImages>
31
36
  <Command.LargeImages>
32
37
  <Image>../../res/go-next.bmp</Image>
38
+ <Image MinDPI='120'>../../res/go-next-big.bmp</Image>
33
39
  </Command.LargeImages>
34
40
  </Command>
35
41
  </Application.Commands>
Binary file
@@ -9,10 +9,14 @@ CmdTab1Group1_LabelTitle_RESID = 60002
9
9
  CmdTab1Group1_LabelDescription_RESID = 60003
10
10
  CmdTab1Group1_TooltipDescription_RESID = 60004
11
11
  CmdTab1Group1_SmallImages_RESID = 60005
12
- CmdTab1Group1_LargeImages_RESID = 60006
12
+ CmdTab1Group1_SmallImages_120__RESID = 60006
13
+ CmdTab1Group1_LargeImages_RESID = 60007
14
+ CmdTab1Group1_LargeImages_120__RESID = 60008
13
15
  CmdButton1 = 6
14
- CmdButton1_LabelTitle_RESID = 60007
15
- CmdButton1_LabelDescription_RESID = 60008
16
- CmdButton1_TooltipDescription_RESID = 60009
17
- CmdButton1_SmallImages_RESID = 60010
18
- CmdButton1_LargeImages_RESID = 60011
16
+ CmdButton1_LabelTitle_RESID = 60009
17
+ CmdButton1_LabelDescription_RESID = 60010
18
+ CmdButton1_TooltipDescription_RESID = 60011
19
+ CmdButton1_SmallImages_RESID = 60012
20
+ CmdButton1_SmallImages_120__RESID = 60013
21
+ CmdButton1_LargeImages_RESID = 60014
22
+ CmdButton1_LargeImages_120__RESID = 60015
@@ -9,18 +9,22 @@
9
9
  <Command Name='cmdTab1Group1' LabelTitle='&amp;Group1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
10
10
  <Command.SmallImages>
11
11
  <Image>../../res/go-next-small.bmp</Image>
12
+ <Image MinDPI='120'>../../res/go-next.bmp</Image>
12
13
  </Command.SmallImages>
13
14
  <Command.LargeImages>
14
15
  <Image>../../res/go-next.bmp</Image>
16
+ <Image MinDPI='120'>../../res/go-next-big.bmp</Image>
15
17
  </Command.LargeImages>
16
18
  </Command>
17
19
 
18
20
  <Command Name='cmdButton1' LabelTitle='&amp;Button1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
19
21
  <Command.SmallImages>
20
22
  <Image>../../res/go-next-small.bmp</Image>
23
+ <Image MinDPI='120'>../../res/go-next.bmp</Image>
21
24
  </Command.SmallImages>
22
25
  <Command.LargeImages>
23
26
  <Image>../../res/go-next.bmp</Image>
27
+ <Image MinDPI='120'>../../res/go-next-big.bmp</Image>
24
28
  </Command.LargeImages>
25
29
  </Command>
26
30
  </Application.Commands>
@@ -0,0 +1,12 @@
1
+ require 'fzeet'
2
+
3
+ include Fzeet
4
+
5
+ Application.run { |window|
6
+ r = UIRibbon.new(window, 'Minimal').
7
+ on(CmdButton1) { message 'on(CmdButton1)' }
8
+
9
+ r.background.darken(20).bleach(50)
10
+ r.color.saturate(100).lighten(20)
11
+ r.highlight.shift(-20).darken(20)
12
+ }
Binary file
@@ -9,16 +9,22 @@ CmdTab1Group1_LabelTitle_RESID = 60002
9
9
  CmdTab1Group1_LabelDescription_RESID = 60003
10
10
  CmdTab1Group1_TooltipDescription_RESID = 60004
11
11
  CmdTab1Group1_SmallImages_RESID = 60005
12
- CmdTab1Group1_LargeImages_RESID = 60006
12
+ CmdTab1Group1_SmallImages_120__RESID = 60006
13
+ CmdTab1Group1_LargeImages_RESID = 60007
14
+ CmdTab1Group1_LargeImages_120__RESID = 60008
13
15
  CmdItem1 = 6
14
- CmdItem1_LabelTitle_RESID = 60007
15
- CmdItem1_LabelDescription_RESID = 60008
16
- CmdItem1_TooltipDescription_RESID = 60009
17
- CmdItem1_SmallImages_RESID = 60010
18
- CmdItem1_LargeImages_RESID = 60011
16
+ CmdItem1_LabelTitle_RESID = 60009
17
+ CmdItem1_LabelDescription_RESID = 60010
18
+ CmdItem1_TooltipDescription_RESID = 60011
19
+ CmdItem1_SmallImages_RESID = 60012
20
+ CmdItem1_SmallImages_120__RESID = 60013
21
+ CmdItem1_LargeImages_RESID = 60014
22
+ CmdItem1_LargeImages_120__RESID = 60015
19
23
  CmdButton1 = 7
20
- CmdButton1_LabelTitle_RESID = 60012
21
- CmdButton1_LabelDescription_RESID = 60013
22
- CmdButton1_TooltipDescription_RESID = 60014
23
- CmdButton1_SmallImages_RESID = 60015
24
- CmdButton1_LargeImages_RESID = 60016
24
+ CmdButton1_LabelTitle_RESID = 60016
25
+ CmdButton1_LabelDescription_RESID = 60017
26
+ CmdButton1_TooltipDescription_RESID = 60018
27
+ CmdButton1_SmallImages_RESID = 60019
28
+ CmdButton1_SmallImages_120__RESID = 60020
29
+ CmdButton1_LargeImages_RESID = 60021
30
+ CmdButton1_LargeImages_120__RESID = 60022
@@ -9,27 +9,33 @@
9
9
  <Command Name='cmdTab1Group1' LabelTitle='&amp;Group1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
10
10
  <Command.SmallImages>
11
11
  <Image>../res/go-next-small.bmp</Image>
12
+ <Image MinDPI='120'>../res/go-next.bmp</Image>
12
13
  </Command.SmallImages>
13
14
  <Command.LargeImages>
14
15
  <Image>../res/go-next.bmp</Image>
16
+ <Image MinDPI='120'>../res/go-next-big.bmp</Image>
15
17
  </Command.LargeImages>
16
18
  </Command>
17
19
 
18
20
  <Command Name='cmdItem1' LabelTitle='&amp;Item1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
19
21
  <Command.SmallImages>
20
22
  <Image>../res/go-previous-small.bmp</Image>
23
+ <Image MinDPI='120'>../res/go-previous.bmp</Image>
21
24
  </Command.SmallImages>
22
25
  <Command.LargeImages>
23
26
  <Image>../res/go-previous.bmp</Image>
27
+ <Image MinDPI='120'>../res/go-previous-big.bmp</Image>
24
28
  </Command.LargeImages>
25
29
  </Command>
26
30
 
27
31
  <Command Name='cmdButton1' LabelTitle='&amp;Button1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
28
32
  <Command.SmallImages>
29
33
  <Image>../res/go-next-small.bmp</Image>
34
+ <Image MinDPI='120'>../res/go-next.bmp</Image>
30
35
  </Command.SmallImages>
31
36
  <Command.LargeImages>
32
37
  <Image>../res/go-next.bmp</Image>
38
+ <Image MinDPI='120'>../res/go-next-big.bmp</Image>
33
39
  </Command.LargeImages>
34
40
  </Command>
35
41
  </Application.Commands>
Binary file
@@ -0,0 +1,23 @@
1
+ # Generated by the UIRibbon build, do NOT modify
2
+
3
+ CmdAppMenu = 2
4
+ CmdQAT = 3
5
+ CmdTab1 = 4
6
+ CmdTab1_LabelTitle_RESID = 60001
7
+ CmdTab1Group1 = 5
8
+ CmdTab1Group1_LabelTitle_RESID = 60002
9
+ CmdTab1Group1_LabelDescription_RESID = 60003
10
+ CmdTab1Group1_TooltipDescription_RESID = 60004
11
+ CmdTab1Group1_SmallImages_RESID = 60005
12
+ CmdTab1Group1_SmallImages_120__RESID = 60006
13
+ CmdTab1Group1_LargeImages_RESID = 60007
14
+ CmdTab1Group1_LargeImages_120__RESID = 60008
15
+ CmdButton1 = 6
16
+ CmdButton1_LabelTitle_RESID = 60009
17
+ CmdButton1_LabelDescription_RESID = 60010
18
+ CmdButton1_TooltipDescription_RESID = 60011
19
+ CmdButton1_SmallImages_RESID = 60012
20
+ CmdButton1_SmallImages_120__RESID = 60013
21
+ CmdButton1_LargeImages_RESID = 60014
22
+ CmdButton1_LargeImages_120__RESID = 60015
23
+ CmdContextMap1 = 7
@@ -0,0 +1,12 @@
1
+ require 'fzeet'
2
+
3
+ include Fzeet
4
+
5
+ Application.run { |window|
6
+ UIRibbon.new(window).
7
+ on(CmdButton1) { message 'on(CmdButton1)' }
8
+
9
+ window.on(:contextmenu) { |args|
10
+ window.ribbon.contextualUI(CmdContextMap1, args[:x], args[:y])
11
+ }
12
+ }
@@ -0,0 +1,83 @@
1
+ <?xml version='1.0' encoding='utf-8' ?>
2
+ <Application xmlns='http://schemas.microsoft.com/windows/2009/Ribbon'>
3
+ <Application.Commands>
4
+ <Command Name='cmdAppMenu' />
5
+
6
+ <Command Name='cmdQAT' />
7
+
8
+ <Command Name='cmdTab1' LabelTitle='Tab1' />
9
+ <Command Name='cmdTab1Group1' LabelTitle='&amp;Group1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
10
+ <Command.SmallImages>
11
+ <Image>../res/go-next-small.bmp</Image>
12
+ <Image MinDPI='120'>../res/go-next.bmp</Image>
13
+ </Command.SmallImages>
14
+ <Command.LargeImages>
15
+ <Image>../res/go-next.bmp</Image>
16
+ <Image MinDPI='120'>../res/go-next-big.bmp</Image>
17
+ </Command.LargeImages>
18
+ </Command>
19
+
20
+ <Command Name='cmdButton1' LabelTitle='&amp;Button1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
21
+ <Command.SmallImages>
22
+ <Image>../res/go-next-small.bmp</Image>
23
+ <Image MinDPI='120'>../res/go-next.bmp</Image>
24
+ </Command.SmallImages>
25
+ <Command.LargeImages>
26
+ <Image>../res/go-next.bmp</Image>
27
+ <Image MinDPI='120'>../res/go-next-big.bmp</Image>
28
+ </Command.LargeImages>
29
+ </Command>
30
+
31
+ <Command Name='cmdContextMap1' />
32
+ </Application.Commands>
33
+
34
+ <Application.Views>
35
+ <Ribbon>
36
+ <Ribbon.ApplicationMenu>
37
+ <ApplicationMenu CommandName='cmdAppMenu'>
38
+ <MenuGroup Class='MajorItems'>
39
+ <Button CommandName='cmdButton1' />
40
+ </MenuGroup>
41
+ </ApplicationMenu>
42
+ </Ribbon.ApplicationMenu>
43
+
44
+ <Ribbon.QuickAccessToolbar>
45
+ <QuickAccessToolbar CommandName='cmdQAT'>
46
+ <QuickAccessToolbar.ApplicationDefaults>
47
+ <Button CommandName='cmdButton1' />
48
+ </QuickAccessToolbar.ApplicationDefaults>
49
+ </QuickAccessToolbar>
50
+ </Ribbon.QuickAccessToolbar>
51
+
52
+ <Ribbon.Tabs>
53
+ <Tab CommandName='cmdTab1'>
54
+ <Group CommandName='cmdTab1Group1' SizeDefinition='OneButton'>
55
+ <Button CommandName='cmdButton1' />
56
+ </Group>
57
+ </Tab>
58
+ </Ribbon.Tabs>
59
+ </Ribbon>
60
+
61
+ <ContextPopup>
62
+ <ContextPopup.MiniToolbars>
63
+ <MiniToolbar Name='miniToolbar1'>
64
+ <MenuGroup>
65
+ <Button CommandName='cmdButton1' />
66
+ </MenuGroup>
67
+ </MiniToolbar>
68
+ </ContextPopup.MiniToolbars>
69
+
70
+ <ContextPopup.ContextMenus>
71
+ <ContextMenu Name='contextMenu1'>
72
+ <MenuGroup>
73
+ <Button CommandName='cmdButton1' />
74
+ </MenuGroup>
75
+ </ContextMenu>
76
+ </ContextPopup.ContextMenus>
77
+
78
+ <ContextPopup.ContextMaps>
79
+ <ContextMap CommandName='cmdContextMap1' MiniToolbar='miniToolbar1' ContextMenu='contextMenu1' />
80
+ </ContextPopup.ContextMaps>
81
+ </ContextPopup>
82
+ </Application.Views>
83
+ </Application>
Binary file
@@ -9,10 +9,14 @@ CmdTab1Group1_LabelTitle_RESID = 60002
9
9
  CmdTab1Group1_LabelDescription_RESID = 60003
10
10
  CmdTab1Group1_TooltipDescription_RESID = 60004
11
11
  CmdTab1Group1_SmallImages_RESID = 60005
12
- CmdTab1Group1_LargeImages_RESID = 60006
12
+ CmdTab1Group1_SmallImages_120__RESID = 60006
13
+ CmdTab1Group1_LargeImages_RESID = 60007
14
+ CmdTab1Group1_LargeImages_120__RESID = 60008
13
15
  CmdButton1 = 6
14
- CmdButton1_LabelTitle_RESID = 60007
15
- CmdButton1_LabelDescription_RESID = 60008
16
- CmdButton1_TooltipDescription_RESID = 60009
17
- CmdButton1_SmallImages_RESID = 60010
18
- CmdButton1_LargeImages_RESID = 60011
16
+ CmdButton1_LabelTitle_RESID = 60009
17
+ CmdButton1_LabelDescription_RESID = 60010
18
+ CmdButton1_TooltipDescription_RESID = 60011
19
+ CmdButton1_SmallImages_RESID = 60012
20
+ CmdButton1_SmallImages_120__RESID = 60013
21
+ CmdButton1_LargeImages_RESID = 60014
22
+ CmdButton1_LargeImages_120__RESID = 60015
@@ -9,18 +9,22 @@
9
9
  <Command Name='cmdTab1Group1' LabelTitle='&amp;Group1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
10
10
  <Command.SmallImages>
11
11
  <Image>../res/go-next-small.bmp</Image>
12
+ <Image MinDPI='120'>../res/go-next.bmp</Image>
12
13
  </Command.SmallImages>
13
14
  <Command.LargeImages>
14
15
  <Image>../res/go-next.bmp</Image>
16
+ <Image MinDPI='120'>../res/go-next-big.bmp</Image>
15
17
  </Command.LargeImages>
16
18
  </Command>
17
19
 
18
20
  <Command Name='cmdButton1' LabelTitle='&amp;Button1' LabelDescription='LabelDescription...' TooltipDescription='TooltipDescription...'>
19
21
  <Command.SmallImages>
20
22
  <Image>../res/go-next-small.bmp</Image>
23
+ <Image MinDPI='120'>../res/go-next.bmp</Image>
21
24
  </Command.SmallImages>
22
25
  <Command.LargeImages>
23
26
  <Image>../res/go-next.bmp</Image>
27
+ <Image MinDPI='120'>../res/go-next-big.bmp</Image>
24
28
  </Command.LargeImages>
25
29
  </Command>
26
30
  </Application.Commands>
@@ -0,0 +1,5 @@
1
+ require 'fzeet'
2
+
3
+ include Fzeet
4
+
5
+ message Windows::WINVER
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- require_relative 'common'
1
+ require_relative 'Common'
2
2
 
3
3
  module Fzeet
4
4
  module AcceleratorTableMethods
@@ -13,9 +13,29 @@ module Fzeet
13
13
  args.each_with_index { |data, i|
14
14
  accel = Windows::ACCEL.new(paccels + i * Windows::ACCEL.size)
15
15
 
16
+ data.unshift(0) if data.size == 2
17
+
16
18
  accel[:fVirt] = Fzeet.flags(data[0], :f)
17
- accel[:fVirt] |= Windows::FVIRTKEY if data[1].kind_of?(Symbol)
18
- accel[:key] = data[1].to_s.ord
19
+
20
+ accel[:key] = case key = data[1]
21
+ when Integer
22
+ accel[:fVirt] |= Windows::FVIRTKEY
23
+
24
+ key
25
+ when Symbol
26
+ accel[:fVirt] |= Windows::FVIRTKEY
27
+
28
+ ((key = key.to_s).length == 1) ? key.upcase.ord : Fzeet.constant(key, :vk_)
29
+ when String
30
+ if key.length == 1
31
+ key.ord
32
+ else
33
+ accel[:fVirt] |= Windows::FVIRTKEY
34
+
35
+ Fzeet.constant(key, :vk_)
36
+ end
37
+ end
38
+
19
39
  accel[:cmd] = Command[data[2]]
20
40
  }
21
41
 
@@ -1,4 +1,4 @@
1
- require_relative 'common'
1
+ require_relative 'Common'
2
2
 
3
3
  module Fzeet
4
4
  class Application
@@ -16,6 +16,8 @@ module Fzeet
16
16
 
17
17
  Windows.EnableVisualStyles
18
18
 
19
+ Windows.DetonateLastError(0, :SetProcessDPIAware) if Windows::WINVER.AtLeastWindowsVista?
20
+
19
21
  Windows.InitializeOle
20
22
 
21
23
  def constant(c, *prefixes)
@@ -111,56 +113,6 @@ module Fzeet
111
113
 
112
114
  module_function :message, :question
113
115
 
114
- class WindowClass < Windows::WNDCLASSEX
115
- def initialize(prototype, name, opts = {})
116
- @prototype = prototype
117
- @name = name
118
- className = FFI::MemoryPointer.from_string(@name)
119
-
120
- _opts = {
121
- style: [],
122
- wndProc: BasicWindow::WindowProc,
123
- clsExtra: 0,
124
- wndExtra: 0,
125
- icon: SystemIcon.new(:application),
126
- cursor: SystemCursor.new(:arrow),
127
- background: SystemBrush.new(:window),
128
- iconSm: nil
129
- }
130
- badopts = opts.keys - _opts.keys; raise "Bad option(s): #{badopts.join(', ')}." unless badopts.empty?
131
-
132
- self[:cbSize] = Windows::WNDCLASSEX.size
133
- self[:hInstance] = Windows.GetModuleHandle(nil)
134
- self[:lpszClassName] = className
135
-
136
- if @prototype
137
- self[:style] = Fzeet.flags(opts[:style] || [], :cs_) | @prototype[:style]
138
- self[:lpfnWndProc] = opts[:wndProc] || @prototype[:lpfnWndProc]
139
- self[:cbClsExtra] = (opts[:clsExtra] || 0) + @prototype[:cbClsExtra]
140
- self[:cbWndExtra] = (opts[:wndExtra] || 0) + @prototype[:cbWndExtra]
141
- self[:hIcon] = (opts[:icon] && opts[:icon].handle) || @prototype[:hIcon]
142
- self[:hCursor] = (opts[:cursor] && opts[:cursor].handle) || @prototype[:hCursor]
143
- self[:hbrBackground] = (opts[:background] && opts[:background].handle) || @prototype[:hbrBackground]
144
- self[:hIconSm] = (opts[:iconSm] && _opts[:iconSm].handle) || @prototype[:hIconSm]
145
- else
146
- _opts.merge(opts)
147
-
148
- self[:style] = Fzeet.flags(_opts[:style], :cs_)
149
- self[:lpfnWndProc] = _opts[:wndProc]
150
- self[:cbClsExtra] = _opts[:clsExtra]
151
- self[:cbWndExtra] = _opts[:wndExtra]
152
- self[:hIcon] = _opts[:icon].handle
153
- self[:hCursor] = _opts[:cursor].handle
154
- self[:hbrBackground] = _opts[:background].handle
155
- self[:hIconSm] = _opts[:iconSm] && _opts[:iconSm].handle
156
- end
157
-
158
- Windows.DetonateLastError(0, :RegisterClassEx, self) { className.free }
159
- end
160
-
161
- attr_reader :prototype, :name
162
- end
163
-
164
116
  class Point < Windows::POINT
165
117
  def initialize(x = 0, y = 0) self[:x], self[:y] = x, y end
166
118
 
@@ -1,4 +1,4 @@
1
- require_relative 'ControlCommon'
1
+ require_relative 'Common'
2
2
 
3
3
  module Fzeet
4
4
  class Button < Control
@@ -1,4 +1,4 @@
1
- require_relative 'WindowMethods'
1
+ require_relative '../Window/WindowMethods'
2
2
 
3
3
  module Fzeet
4
4
  class Control < Handle
data/lib/fzeet/Control.rb CHANGED
@@ -1 +1 @@
1
- require_relative 'ControlButton'
1
+ require_relative 'Control/Button'
@@ -0,0 +1,5 @@
1
+ require_relative '../Window/Dialog'
2
+
3
+ module Fzeet
4
+
5
+ end
@@ -1,4 +1,4 @@
1
- require_relative 'DialogCommon'
1
+ require_relative 'Common'
2
2
 
3
3
  module Fzeet
4
4
  class FileDialog
@@ -71,46 +71,4 @@ module Fzeet
71
71
  path.free
72
72
  end
73
73
  end
74
-
75
- class FolderDialog
76
- def initialize(opts = {})
77
- _opts = {
78
- root: nil,
79
- displayName: nil,
80
- title: nil,
81
- flags: 0,
82
- hook: nil,
83
- param: 0,
84
- image: 0
85
- }
86
- badopts = opts.keys - _opts.keys; raise "Bad option(s): #{badopts.join(', ')}." unless badopts.empty?
87
- _opts.merge!(opts)
88
-
89
- @bi = Windows::BROWSEINFO.new
90
-
91
- @bi[:ulFlags] = Fzeet.flags([:returnonlyfsdirs, :usenewui], :bif_)
92
- end
93
-
94
- attr_reader :bi
95
-
96
- def path; @path && @path.dup end
97
-
98
- def show(window = Application.window)
99
- bi[:hwndOwner] = window.handle
100
-
101
- @path = nil
102
-
103
- DialogResult.new(((pidl = Windows.SHBrowseForFolder(bi)).null?) ? Windows::IDCANCEL : Windows::IDOK).tap { |result|
104
- next unless result.ok?
105
-
106
- FFI::MemoryPointer.new(:char, 4096) { |p|
107
- Windows.SHGetPathFromIDList(pidl, p)
108
-
109
- @path = p.read_string
110
- }
111
- }
112
- ensure
113
- Windows.CoTaskMemFree(pidl)
114
- end
115
- end
116
74
  end
@@ -0,0 +1,45 @@
1
+ require_relative 'Common'
2
+
3
+ module Fzeet
4
+ class FolderDialog
5
+ def initialize(opts = {})
6
+ _opts = {
7
+ root: nil,
8
+ displayName: nil,
9
+ title: nil,
10
+ flags: 0,
11
+ hook: nil,
12
+ param: 0,
13
+ image: 0
14
+ }
15
+ badopts = opts.keys - _opts.keys; raise "Bad option(s): #{badopts.join(', ')}." unless badopts.empty?
16
+ _opts.merge!(opts)
17
+
18
+ @bi = Windows::BROWSEINFO.new
19
+
20
+ @bi[:ulFlags] = Fzeet.flags([:returnonlyfsdirs, :usenewui], :bif_)
21
+ end
22
+
23
+ attr_reader :bi
24
+
25
+ def path; @path && @path.dup end
26
+
27
+ def show(window = Application.window)
28
+ bi[:hwndOwner] = window.handle
29
+
30
+ @path = nil
31
+
32
+ DialogResult.new(((pidl = Windows.SHBrowseForFolder(bi)).null?) ? Windows::IDCANCEL : Windows::IDOK).tap { |result|
33
+ next unless result.ok?
34
+
35
+ FFI::MemoryPointer.new(:char, 4096) { |p|
36
+ Windows.SHGetPathFromIDList(pidl, p)
37
+
38
+ @path = p.read_string
39
+ }
40
+ }
41
+ ensure
42
+ Windows.CoTaskMemFree(pidl)
43
+ end
44
+ end
45
+ end
data/lib/fzeet/Dialog.rb CHANGED
@@ -1 +1,2 @@
1
- require_relative 'DialogFileDialog'
1
+ require_relative 'Dialog/FileDialog'
2
+ require_relative 'Dialog/FolderDialog'