Try disabling the Take a card menu item in the BlackJackPlayerView visual part for the same conditions that prevent a drop. One way to do this is to create a boolean attribute in BlackJackPlayerView and enhance canTakeCard to set it. For example:
canTakeCard
"Answer false if the player has a 5-card trolley,
a winning hand (21), or is busted (over 21)."
| sum items result |
sum := 0.
items := (self subpartNamed: 'Container Details1') items.
items do: [:card | sum := sum + (card rank)].
result := (items size > 4 or: [sum > 20]) not.
self canAcceptCard: result.
^result