フィルターのクリア

KeyPressFcn problem

24 ビュー (過去 30 日間)
Razvan
Razvan 2011 年 5 月 21 日
回答済み: Norbert 2020 年 10 月 15 日
Hi everyone,
I have a problem regarding the KeyPressFcn of a figure. I try to make a GUI in which I want to control something with the keys. If the focus is on the main figure then this is possible but after I press a button and the focus moves to the button, the KeyPressFcn doesn't activate. How can I move the focus back to the main window (to the background) after I press a button, in order to be able to record again the pressed keys?
Here is a small example in which after the button is pressed the keys are not recorded until I click with the mouse somewhere on the background and the focus moves again to the main window.
function crazy_gui
f = figure('KeyPressFcn', @(handle,event) disp(event.Key), 'Position',[500,500,500,500]);
hButton = uicontrol('Style','pushbutton','String','Crazy Button',...
'Position',[200,200,100,100],...
'Callback',@button_Callback);
function button_Callback(handle,event)
disp('Focus changed to the button! Now you cannot record the pressed keys');
end
end
Thanks,
Razvan

採用された回答

Matt Fig
Matt Fig 2011 年 5 月 21 日
Try the WindowKeyPressFcn instead.
  2 件のコメント
Razvan
Razvan 2011 年 5 月 21 日
Thanks a lot!
Razvan
Razvan 2011 年 5 月 21 日
And how can I disable the WindowKeyPressFcn property while a slider is active, such that in that case the keys control only the slider and don't do anything else outside the slider?

サインインしてコメントする。

その他の回答 (1 件)

Norbert
Norbert 2020 年 10 月 15 日
Thanks a lot for your hint Matt, did not work out in my case.
in order to get the function active i always have to click on the figure.
Best
Norbert

カテゴリ

Help Center および File ExchangeMigrate GUIDE Apps についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by