gca behaves different in 2014b

1 次查看(过去 30 天)
Hello, Let assume there is already a figure open (like a GUI). Before 2014b with gca the handle number returned. Now with gca a new figure will open.
How could I get the current handle of a figure back?
In my special case, I try to get access to a certain axes of an existing figure. Any help avialable?
Thanks!
  3 个评论
Christian Schultes
Christian Schultes 2014-10-12
It works so fine in prior releases, but in 2014b the results as shown:
>> isempty(get(groot,'CurrentFigure'))
ans =
1
>>
Christian Schultes
Christian Schultes 2014-10-12
I've got the answer. The settings of the GUI must be HandleVisibility = ON !!!

请先登录,再进行评论。

采纳的回答

Christian Schultes
Christian Schultes 2014-10-12
Always t
urn the HandleVisibility ON then the commands gca and gcf will work.

更多回答(1 个)

David Barry
David Barry 2014-10-12
Christian,
This seems to work fine. Are you sure you definitely have an axes in your figure? gca will only open a new figure with an axes in if you call it and one doesn't already exist.
Try the code below and see if returns 1
f = figure;
a = axes('Parent', f);
g = gca;
a == g
  1 个评论
Christian Schultes
Christian Schultes 2014-10-12
Hello David.
Yes I'm sure. But now I found the issue! Not sure why it did work in R2011b. See my own answer.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by