2017-04-04 3 views

답변

0

난이 숙제를하지 희망 ...

#lang racket/gui 
(define frame (new frame% [label "game"] 
       [width 500] [height 500] [alignment '(center center)])) 
(new button% [parent frame] 
     [label "exit"] 
     ; Callback procedure for a button click: 
      [callback (lambda (d e) (send frame show #f))]) 

이미 프레임을 정의한 때문에 단순히 버튼의 콜백을 참조 할 수 있습니다.

당신은 한 단계 더 나아가 별도의 프로 시저를 작성하고 다음과 같이 간단하게, 콜백으로 해당 절차를 통과 할 수있다 :이 다른 일들이 콜백하는 동안 발생이 할 수

#lang racket/gui 
(define frame (new frame% [label "game"] 
       [width 500] [height 500] [alignment '(center center)])) 

(define thecallback 
    (lambda (b e) 
    (send frame show #f))) 

(new button% [parent frame] 
     [label "exit"] 
     ; Callback procedure for a button click: 
      [callback thecallback]) 

때문이다. 또한 필자는 코드를 더 읽기 쉽게 만들었 기 때문에 개인적으로 이와 같은 별도의 콜백을 작성하는 것을 좋아합니다.