Caret or Grid Cursor disappears when interacting with Ribbon Page










0















I have one main frame derived from wxMDIParentFrame and corresponding child frames derived from wxMDIChildFrame.



The main frame has ribbon Bar which is included as follows:



auto clientWindow = GetClientWindow();
bSizer1->Add(m_ribbonBar, 0, wxEXPAND);
bSizer1->Add(clientWindow, 1, wxEXPAND);


The child frames contain controls, such as one has wxRichTextCtrl and another has wxGrid.



For example the Rich Text Control is added to the child frame as follows:



m_OutputWindow = new wxRichTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 
wxTE_AUTO_URL|wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB|wxVSCROLL|wxHSCROLL|wxNO_BORDER|wxWANTS_CHARS );

auto bSizer1 = new wxBoxSizer(wxHORIZONTAL);
bSizer1->Add( m_OutputWindow, 7, wxEXPAND | wxALL, 5 );

SetSizer( bSizer1 );

Layout();


As shown in the image (for the rich text ctrl), the problem I am having is the caret at the wxRichTextCtrl or the grid cursor on wxGrid dissapears.



enter image description here



This happens when:



1) The user changes ribbon pages,



2) The user clicks on a control (such as wxButton or wxComboBox) that is on a ribbon panel. The problem does not happen with controls "native" to the RibbonBar,



3) The user clicks on an empty area (no controls at all) on the RibbonBar.



The downside is when this happens the user loses whereabouts of the caret's or the grid cursor's location.



When either of the 3 cases happens, the child frame is still active and my assumption is that the controls ( i.e. wxRichTextCtrl or wxGrid) on the child frame become inactive. Even if the user clicks on the child frame again (not directly on the control) the caret or the grid cursor is not shown. The user has to click on another child frame and then to the target frame to be
able to show the caret or grid cursor again.



How can I keep the caret or grid cursor visible when above-mentioned cases happen?



I am using wxWidgets 3.1.0 on Windows 10. Compiler is VS 2015.










share|improve this question
























  • I don't understand your windows hierarchy nor your sizers. A client window whose layout is controlled by a sizer?. Please post more code. and, if you can, a screenshot of the whole picture.

    – Ripi2
    Nov 14 '18 at 16:05











  • I edited the question and added more info.

    – macroland
    Nov 18 '18 at 7:16















0















I have one main frame derived from wxMDIParentFrame and corresponding child frames derived from wxMDIChildFrame.



The main frame has ribbon Bar which is included as follows:



auto clientWindow = GetClientWindow();
bSizer1->Add(m_ribbonBar, 0, wxEXPAND);
bSizer1->Add(clientWindow, 1, wxEXPAND);


The child frames contain controls, such as one has wxRichTextCtrl and another has wxGrid.



For example the Rich Text Control is added to the child frame as follows:



m_OutputWindow = new wxRichTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 
wxTE_AUTO_URL|wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB|wxVSCROLL|wxHSCROLL|wxNO_BORDER|wxWANTS_CHARS );

auto bSizer1 = new wxBoxSizer(wxHORIZONTAL);
bSizer1->Add( m_OutputWindow, 7, wxEXPAND | wxALL, 5 );

SetSizer( bSizer1 );

Layout();


As shown in the image (for the rich text ctrl), the problem I am having is the caret at the wxRichTextCtrl or the grid cursor on wxGrid dissapears.



enter image description here



This happens when:



1) The user changes ribbon pages,



2) The user clicks on a control (such as wxButton or wxComboBox) that is on a ribbon panel. The problem does not happen with controls "native" to the RibbonBar,



3) The user clicks on an empty area (no controls at all) on the RibbonBar.



The downside is when this happens the user loses whereabouts of the caret's or the grid cursor's location.



When either of the 3 cases happens, the child frame is still active and my assumption is that the controls ( i.e. wxRichTextCtrl or wxGrid) on the child frame become inactive. Even if the user clicks on the child frame again (not directly on the control) the caret or the grid cursor is not shown. The user has to click on another child frame and then to the target frame to be
able to show the caret or grid cursor again.



How can I keep the caret or grid cursor visible when above-mentioned cases happen?



I am using wxWidgets 3.1.0 on Windows 10. Compiler is VS 2015.










share|improve this question
























  • I don't understand your windows hierarchy nor your sizers. A client window whose layout is controlled by a sizer?. Please post more code. and, if you can, a screenshot of the whole picture.

    – Ripi2
    Nov 14 '18 at 16:05











  • I edited the question and added more info.

    – macroland
    Nov 18 '18 at 7:16













0












0








0








I have one main frame derived from wxMDIParentFrame and corresponding child frames derived from wxMDIChildFrame.



The main frame has ribbon Bar which is included as follows:



auto clientWindow = GetClientWindow();
bSizer1->Add(m_ribbonBar, 0, wxEXPAND);
bSizer1->Add(clientWindow, 1, wxEXPAND);


The child frames contain controls, such as one has wxRichTextCtrl and another has wxGrid.



For example the Rich Text Control is added to the child frame as follows:



m_OutputWindow = new wxRichTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 
wxTE_AUTO_URL|wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB|wxVSCROLL|wxHSCROLL|wxNO_BORDER|wxWANTS_CHARS );

auto bSizer1 = new wxBoxSizer(wxHORIZONTAL);
bSizer1->Add( m_OutputWindow, 7, wxEXPAND | wxALL, 5 );

SetSizer( bSizer1 );

Layout();


As shown in the image (for the rich text ctrl), the problem I am having is the caret at the wxRichTextCtrl or the grid cursor on wxGrid dissapears.



enter image description here



This happens when:



1) The user changes ribbon pages,



2) The user clicks on a control (such as wxButton or wxComboBox) that is on a ribbon panel. The problem does not happen with controls "native" to the RibbonBar,



3) The user clicks on an empty area (no controls at all) on the RibbonBar.



The downside is when this happens the user loses whereabouts of the caret's or the grid cursor's location.



When either of the 3 cases happens, the child frame is still active and my assumption is that the controls ( i.e. wxRichTextCtrl or wxGrid) on the child frame become inactive. Even if the user clicks on the child frame again (not directly on the control) the caret or the grid cursor is not shown. The user has to click on another child frame and then to the target frame to be
able to show the caret or grid cursor again.



How can I keep the caret or grid cursor visible when above-mentioned cases happen?



I am using wxWidgets 3.1.0 on Windows 10. Compiler is VS 2015.










share|improve this question
















I have one main frame derived from wxMDIParentFrame and corresponding child frames derived from wxMDIChildFrame.



The main frame has ribbon Bar which is included as follows:



auto clientWindow = GetClientWindow();
bSizer1->Add(m_ribbonBar, 0, wxEXPAND);
bSizer1->Add(clientWindow, 1, wxEXPAND);


The child frames contain controls, such as one has wxRichTextCtrl and another has wxGrid.



For example the Rich Text Control is added to the child frame as follows:



m_OutputWindow = new wxRichTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 
wxTE_AUTO_URL|wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB|wxVSCROLL|wxHSCROLL|wxNO_BORDER|wxWANTS_CHARS );

auto bSizer1 = new wxBoxSizer(wxHORIZONTAL);
bSizer1->Add( m_OutputWindow, 7, wxEXPAND | wxALL, 5 );

SetSizer( bSizer1 );

Layout();


As shown in the image (for the rich text ctrl), the problem I am having is the caret at the wxRichTextCtrl or the grid cursor on wxGrid dissapears.



enter image description here



This happens when:



1) The user changes ribbon pages,



2) The user clicks on a control (such as wxButton or wxComboBox) that is on a ribbon panel. The problem does not happen with controls "native" to the RibbonBar,



3) The user clicks on an empty area (no controls at all) on the RibbonBar.



The downside is when this happens the user loses whereabouts of the caret's or the grid cursor's location.



When either of the 3 cases happens, the child frame is still active and my assumption is that the controls ( i.e. wxRichTextCtrl or wxGrid) on the child frame become inactive. Even if the user clicks on the child frame again (not directly on the control) the caret or the grid cursor is not shown. The user has to click on another child frame and then to the target frame to be
able to show the caret or grid cursor again.



How can I keep the caret or grid cursor visible when above-mentioned cases happen?



I am using wxWidgets 3.1.0 on Windows 10. Compiler is VS 2015.







c++ wxwidgets






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 15 '18 at 4:12







macroland

















asked Nov 14 '18 at 5:09









macrolandmacroland

605519




605519












  • I don't understand your windows hierarchy nor your sizers. A client window whose layout is controlled by a sizer?. Please post more code. and, if you can, a screenshot of the whole picture.

    – Ripi2
    Nov 14 '18 at 16:05











  • I edited the question and added more info.

    – macroland
    Nov 18 '18 at 7:16

















  • I don't understand your windows hierarchy nor your sizers. A client window whose layout is controlled by a sizer?. Please post more code. and, if you can, a screenshot of the whole picture.

    – Ripi2
    Nov 14 '18 at 16:05











  • I edited the question and added more info.

    – macroland
    Nov 18 '18 at 7:16
















I don't understand your windows hierarchy nor your sizers. A client window whose layout is controlled by a sizer?. Please post more code. and, if you can, a screenshot of the whole picture.

– Ripi2
Nov 14 '18 at 16:05





I don't understand your windows hierarchy nor your sizers. A client window whose layout is controlled by a sizer?. Please post more code. and, if you can, a screenshot of the whole picture.

– Ripi2
Nov 14 '18 at 16:05













I edited the question and added more info.

– macroland
Nov 18 '18 at 7:16





I edited the question and added more info.

– macroland
Nov 18 '18 at 7:16












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53293526%2fcaret-or-grid-cursor-disappears-when-interacting-with-ribbon-page%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53293526%2fcaret-or-grid-cursor-disappears-when-interacting-with-ribbon-page%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







這個網誌中的熱門文章

How to read a connectionString WITH PROVIDER in .NET Core?

Museum of Modern and Contemporary Art of Trento and Rovereto

In R, how to develop a multiplot heatmap.2 figure showing key labels successfully