Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS General Discussion » Menu Problem in my Prof-UIS application Collapse All
Subject Author Date
anil vyas Jun 4, 2007 - 5:59 AM

Hi,
I am using Prof-UIS in my application.In which I am using menu.What occurs wrong is that when i click on a menu than If there is any long processing in that menu function then Menu remains open till processing is over.
I am checking same with simple MFC application.But the same doesn’t occur.I am not able to understand why this occurs.It causes lot of trouble to me In long processing functions.
I am sending two sample applications . One with ProfUIS AppWizard and another with
MFCAppWizard .The names of my sample appliation is "MFCAppWizard" and "ProfUisAppWizard". You can check the things in menu item “Edit->MenuProblem” in both the applications.
Waiting For Your Early Reply.

anil vyas Jun 11, 2007 - 5:34 AM

Hi,
I am not able to send my sample application yet.Please tell me on which id i should send my sample application.
Waiting for your early reply.

Technical Support Jun 11, 2007 - 6:43 AM

We have tested the problem using Prof-UIS sample applications. Most of the sample applications have the following method in the application class for displaying the About dialog box:

void CApp::OnAppAbout()
{
      VERIFY( ProfUISAbout() );
}
This method displays the About dialog immediately. To emulate a lengthy operation, we modified the method above in this way:
void CApp::OnAppAbout()
{
      Sleep( 3000 ); // THIS EMULATES LENGTHY OPERATION (3 SECONDS)
      VERIFY( ProfUISAbout() );
}
We noticed the popup menu disappeared correctly and the content under the hidden popup menu was also painted correctly. But the menu bar’s button was not repainted until the lengthy 3 second operation is completed. To fix the problem we have modified the method again and made all the delayed painting requests to be forcibly handled before the lengthy operation starts:
void CApp::OnAppAbout()
{
      CExtPaintManager::stat_PassPaintMessages(); // DELIVER ALL THE DELAYED PAINTING REQUESTS
      Sleep( 3000 );
      VERIFY( ProfUISAbout() );
}
This is the correct way to avoid unpainted areas of any windows before lengthy operations.

Besides, we must note the following: lengthy operations should be implemented in the background threads to avoid any situations when your application simply does not respond to user input. It is not correct to implement a several seconds lengthy operation in the main UI thread of your application without a progress dialog and an unprocessed message loop.

anil vyas Jun 9, 2007 - 8:35 AM

Hi
I am using Prof-UIS registry .I am deleting registry key with DelRegKey function of CExtRegistry.I want to Rename my registry key so how to do it?
Waiting for ur early reply.

Technical Support Jun 11, 2007 - 3:53 AM

Unfortunately neither Win32 API nor CExtRegistry allow you to rename registry entries. This should be implemented as copying the registry key using a recursive function and then deleting the source key.

anil vyas Jun 9, 2007 - 8:32 AM

Hi
I have sended sample applications through another id tupi_patel@yahoo.co.in
Please send reply soon.

Technical Support Jun 5, 2007 - 11:59 AM

We still have not received these applications from you.

anil vyas Jun 6, 2007 - 5:16 AM

I have sended my application at "support@prof-uis.com".My UserName is "anilvyas".

Technical Support Jun 6, 2007 - 8:16 AM

No, we have not yet received it. What’s the attachment size? Would you provide it via ftp or rapidshare?