win32: frame size and iconize fixes
original commit: 1f61bbdc513ea7f07ae764cd0a6ae640e4e19479
This commit is contained in:
parent
0120b59ea5
commit
99c829cd5b
|
@ -400,7 +400,7 @@
|
||||||
(define BS_FLAT #x00008000)
|
(define BS_FLAT #x00008000)
|
||||||
(define BS_RIGHTBUTTON BS_LEFTTEXT)
|
(define BS_RIGHTBUTTON BS_LEFTTEXT)
|
||||||
|
|
||||||
(define CW_USEDEFAULT #x80000000)
|
(define CW_USEDEFAULT (- #x80000000)) ; minus sign => int instead of uint
|
||||||
|
|
||||||
(define WS_EX_LAYERED #x00080000)
|
(define WS_EX_LAYERED #x00080000)
|
||||||
(define WS_EX_TRANSPARENT #x00000020)
|
(define WS_EX_TRANSPARENT #x00000020)
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
(class (dialog-mixin frame%)
|
(class (dialog-mixin frame%)
|
||||||
(super-new)
|
(super-new)
|
||||||
|
|
||||||
(define/override (create-frame parent label w h style)
|
(define/override (create-frame parent label x y w h style)
|
||||||
(let ([hwnd
|
(let ([hwnd
|
||||||
(CreateDialogIndirectParamW hInstance
|
(CreateDialogIndirectParamW hInstance
|
||||||
(make-DLGTEMPLATE
|
(make-DLGTEMPLATE
|
||||||
|
@ -46,7 +46,9 @@
|
||||||
dialog-proc
|
dialog-proc
|
||||||
0)])
|
0)])
|
||||||
(SetWindowTextW hwnd label)
|
(SetWindowTextW hwnd label)
|
||||||
(MoveWindow hwnd 0 0 w h #t)
|
(let ([x (if (= x -11111) 0 x)]
|
||||||
|
[y (if (= y -11111) 0 y)])
|
||||||
|
(MoveWindow hwnd x y w h #t))
|
||||||
hwnd))
|
hwnd))
|
||||||
|
|
||||||
(define/override (is-dialog?) #t)))
|
(define/override (is-dialog?) #t)))
|
||||||
|
|
|
@ -108,7 +108,7 @@
|
||||||
pre-on-char pre-on-event
|
pre-on-char pre-on-event
|
||||||
reset-cursor-in-child)
|
reset-cursor-in-child)
|
||||||
|
|
||||||
(define/public (create-frame parent label w h style)
|
(define/public (create-frame parent label x y w h style)
|
||||||
(CreateWindowExW (if (memq 'float style)
|
(CreateWindowExW (if (memq 'float style)
|
||||||
(bitwise-ior WS_EX_TOOLWINDOW
|
(bitwise-ior WS_EX_TOOLWINDOW
|
||||||
(if (memq 'no-caption style)
|
(if (memq 'no-caption style)
|
||||||
|
@ -131,7 +131,9 @@
|
||||||
0
|
0
|
||||||
(bitwise-ior WS_CAPTION
|
(bitwise-ior WS_CAPTION
|
||||||
WS_MINIMIZEBOX)))
|
WS_MINIMIZEBOX)))
|
||||||
0 0 w h
|
(if (= x -11111) CW_USEDEFAULT x)
|
||||||
|
(if (= y -11111) CW_USEDEFAULT y)
|
||||||
|
w h
|
||||||
#f
|
#f
|
||||||
#f
|
#f
|
||||||
hInstance
|
hInstance
|
||||||
|
@ -146,7 +148,7 @@
|
||||||
(define max-height #f)
|
(define max-height #f)
|
||||||
|
|
||||||
(super-new [parent #f]
|
(super-new [parent #f]
|
||||||
[hwnd (create-frame parent label w h style)]
|
[hwnd (create-frame parent label x y w h style)]
|
||||||
[style (cons 'deleted style)])
|
[style (cons 'deleted style)])
|
||||||
|
|
||||||
(define hwnd (get-hwnd))
|
(define hwnd (get-hwnd))
|
||||||
|
@ -185,7 +187,9 @@
|
||||||
(set! hidden-zoomed? (is-maximized?)))
|
(set! hidden-zoomed? (is-maximized?)))
|
||||||
(super direct-show on? (if hidden-zoomed?
|
(super direct-show on? (if hidden-zoomed?
|
||||||
SW_SHOWMAXIMIZED
|
SW_SHOWMAXIMIZED
|
||||||
SW_SHOW)))
|
SW_SHOW))
|
||||||
|
(when (and on? (iconized?))
|
||||||
|
(ShowWindow hwnd SW_RESTORE)))
|
||||||
|
|
||||||
(define/public (destroy)
|
(define/public (destroy)
|
||||||
(direct-show #f))
|
(direct-show #f))
|
||||||
|
@ -393,7 +397,7 @@
|
||||||
|
|
||||||
(define/public (iconize on?)
|
(define/public (iconize on?)
|
||||||
(when (is-shown?)
|
(when (is-shown?)
|
||||||
(when (or on? (not (iconized?)))
|
(unless (eq? (and on? #t) (iconized?))
|
||||||
(ShowWindow hwnd (if on? SW_MINIMIZE SW_RESTORE)))))
|
(ShowWindow hwnd (if on? SW_MINIMIZE SW_RESTORE)))))
|
||||||
|
|
||||||
(define/private (get-placement)
|
(define/private (get-placement)
|
||||||
|
|
|
@ -259,6 +259,14 @@
|
||||||
(pause)
|
(pause)
|
||||||
(pause)
|
(pause)
|
||||||
(st #t f is-iconized?)
|
(st #t f is-iconized?)
|
||||||
|
(stv f iconize #f)
|
||||||
|
(pause)
|
||||||
|
(pause)
|
||||||
|
(st #f f is-iconized?)
|
||||||
|
(stv f iconize #t)
|
||||||
|
(pause)
|
||||||
|
(pause)
|
||||||
|
(st #t f is-iconized?)
|
||||||
(stv f show #t)
|
(stv f show #t)
|
||||||
(pause)
|
(pause)
|
||||||
(st #f f is-iconized?)
|
(st #f f is-iconized?)
|
||||||
|
@ -277,16 +285,16 @@
|
||||||
(st 151 f get-height)
|
(st 151 f get-height)
|
||||||
|
|
||||||
(printf "Resize\n")
|
(printf "Resize\n")
|
||||||
(stv f resize 56 57)
|
(stv f resize 156 57)
|
||||||
(pause)
|
(pause)
|
||||||
(FAILS (st 34 f get-x))
|
(FAILS (st 34 f get-x))
|
||||||
(FAILS (st 37 f get-y))
|
(FAILS (st 37 f get-y))
|
||||||
(st 56 f get-width)
|
(st 156 f get-width)
|
||||||
(st 57 f get-height)
|
(st 57 f get-height)
|
||||||
|
|
||||||
(stv f center)
|
(stv f center)
|
||||||
(pause)
|
(pause)
|
||||||
(st 56 f get-width)
|
(st 156 f get-width)
|
||||||
(st 57 f get-height)
|
(st 57 f get-height)
|
||||||
|
|
||||||
(client->screen-tests)
|
(client->screen-tests)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user