WPF學習日誌 ~ CaptureMouse ~
CaptureMouse顧名思義是捕捉滑鼠,那捕捉滑鼠要做什麼呢? 當我們捕捉住滑鼠的訊號之後,當滑鼠離開了Winddow的範圍之外,我們仍然可以收到MouseMove以及MouseUp的事件,這可以利用在縮/放部分,如果你有用過Blend(或是跑過DirectX的sample)的話,在調整(縮/放)工作區大小時,是類似的感覺;下面測試捕捉滑鼠,利用移動的距離來改變TextBlock的字體大小,執行結果像是下圖這樣 下面我們來看看測試的程式碼 Class Window1 Dim sp As StackPanel Dim tb As TextBlock Dim p As New Point Private Sub Window1_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded sp = New StackPanel tb = New TextBlock tb.Text = "Some String here" tb.Background = Brushes.AliceBlue tb.HorizontalAlignment = Windows.HorizontalAlignment.Center tb.VerticalAlignment = Windows.VerticalAlignment.Center sp.Children.Add(tb) Me.Content = sp End Sub Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Input.MouseEventArgs) MyBase.OnMouseMove(e) If e.LeftButton = MouseButtonState.Pressed Then Me.Title = e.GetPosition(sp).X & ...