2013-06-05 27 views
2

雖然specifyfing使用Matlab的GUIDE一個按鈕回調類型,有幾種選擇,其中的兩個在下面描述:(字從Matlab的文檔的引用)按鈕回調類型在MATLAB GUIDE

  1. ButtonDownFcn:執行當用戶按下鼠標按鈕的同時指針在組件或圖標的五個像素內或圖形

  2. 回調:控制操作。例如,當用戶點擊按鈕或選擇菜單項時執行。

該描述似乎表明他們做同樣的事情。這兩種回調類型之間的區別是什麼?

回答

4

ButtonDownFcn當您在uicontrol上按下鼠標按鈕時,應該觸發回調,無論您是否釋放鼠標按鈕,以及您的操作是否最終會激活uicontrol。

當uicontrol激活時,應該觸發Callback回調。激活對不同的uicontols來說意味着不同的東西 - 對於按鈕來說,它意味着按鈕被按下,對於複選框來說,這意味着複選框被選中或取消選擇,對於編輯框來說,這意味着文本內容被修改。

假設您有一個撥號爲Callback的按鈕,但沒有ButtonDownFcn回撥。如果將鼠標懸停在按鈕上,單擊並按住鼠標,遠離按鈕,然後釋放,則不應觸發Callback回撥,因爲該按鈕未被激活。但是如果它有一個ButtonDownFcn回調,那麼只要你第一次點擊鼠標就會觸發,儘管按鈕最終沒有被激活。

如果它有兩個,並且您完全單擊並釋放按鈕以激活它,則應該先觸發ButtonDownFcn,因爲它會在激活之前點擊下擊。

+0

感謝您的照亮的答案! –

0

當uicontrol激活時,應該觸發回調回調。激活意味着不同的uicontols不同的東西 - 對於按鈕來說,這意味着按鈕被按下,對於複選框,這意味着複選框被選中或取消選擇,對於編輯框,這意味着文本內容被修改

ButtonDownFcn回調當您按下uicontrol上的鼠標按鈕時應該觸發,無論您是否釋放鼠標按鈕,以及您的操作是否最終會激活uicontrol。