|
Usman Ullah Sheikh wrote: // How to measure the time Function2 takes? Function2 is multithreaded.
// Time it takes for both thread to finish,
Why not you use global variables? and update it with the last process that finishes its task?
<br />
void Function2(int *a, int *b, int *c, int count)<br />
{<br />
AfxBeginThread1()
now, if the process is completed, inside the function that thread1 runs,
do your///QueryPerformanceCounter - end
AfxBeginThread2()// for data in the range of count/2 -> count
now, if the process is completed, inside the function that thread1 runs,
do your///QueryPerformanceCounter - end
}
while updating your "end" check if it has been updated by the previous process, if so, one process is already over so no need to worry, the last one you update is the resultant one. If the "end" counter is still 0, no process is yet over. So after updating it, you still need to wait. When the next process gets over it again checks if the "end" counter is 0 or not. This time it finds value inside it (since it's been updated by the previous thread) now you can be sure everything's over and 'end'- this 'start' this is the total time taken.
<marquee scrollamount="1" scrolldelay="1" direction="up" height="10" step="1">--[ ]--
[My Current Status]
|
|
|
|
|
I think that will work! Thanks! I'll try it!
|
|
|
|
|
Surely, the Dialog will close when the Enter and ESC key down.
I know reload the PreTranslateMessage(MSG* pMsg) function can avoid the problem.
In my project, there are some other controls in the dialog, and I want the Edit controls and buttons can get the Enter/ESC command but not close the Dialog, is there any way?
I tried the OnChar(), OnCommad(), there din't work at all.
BOOL CEditDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_RETURN || pMsg->wParam==VK_ESCAPE)
{
if (!GetFocus()->IsKindOf(RUNTIME_CLASS(CEdit)))
return true;// pMsg->wParam=NULL ;
else
{
...............
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}
|
|
|
|
|
if your problem is in editbox do you have ES_WANTRETURN in property edit
whitesky
|
|
|
|
|
My edit controls are single-line.
in fact, what I want is send a message to Parent window, when the focused edits/buttons get Enter/ESC key.
|
|
|
|
|
Try WM_GETDLGCODE
Regards,
FarPointer
Blog:http://farpointer.blogspot.com/
|
|
|
|
|
That's why PreTranslateMessage is not a very clean solution. Prefer the solution described in the FAQ[^]. In this way, you still have the complete flow of messages inaltered, it is just the closing of the dialog that is suppressed and you don't need to make tricks to get back your esc and enter messages when you need them.
Cédric Moonen
Software developer
Charting control
|
|
|
|
|
then, how to handle the enter/esc key for Edit control and buttons?
And seems that it doesn't enter into the OnChar() at all.
|
|
|
|
|
zeus_master wrote: And seems that it doesn't enter into the OnChar() at all.
Then your problem is elsewhere, it has nothing to do with the destruction of the dialog on enter or Esc.
Cédric Moonen
Software developer
Charting control
|
|
|
|
|
yes
the code below <b>else </b> is where I need your kindly help.
if (!GetFocus()->IsKindOf(RUNTIME_CLASS(CEdit)))
return true;// do nothing and ignore the key process
else
{
<u><b> ...............
//add proper code for EDIT control capture the Enter and ESC key.</b></u>
}
|
|
|
|
|
Why are you doing that in PreTranslateMessage ? I think you can simply add a message handler for WM_CHAR or WM_KEYDOWN for the edit control no ? I'm not sure about that, so you have to check.
Cédric Moonen
Software developer
Charting control
|
|
|
|
|
I tried, and failed......
if there is no better methord,I would have to add the edit proc function in PreTranslateMessage() directly...
|
|
|
|
|
zeus_master wrote: if (!GetFocus()->IsKindOf(RUNTIME_CLASS(CEdit)))
return true;
Your logic seems to be wrong. You want the condition to be true right?
[modified]
By returning true from PreTranslateMessage(...), you are telling your application to bypass any default handling of the message.
[modified]
Last modified: Tuesday, June 20, 2006 3:28:49 AM --
|
|
|
|
|
GetFocus()->IsKindOf(RUNTIME_CLASS(CEdit)) is for checking current focus on Edit control or not.
if it is not on edit control, will return and do nothing,if the focus is on edit control, then do what I want to....
-- modified at 4:35 Tuesday 20th June, 2006
By returning true from PreTranslateMessage(...), you are telling your application to bypass any default handling of the message.
yes, or it will close the dialog
|
|
|
|
|
zeus_master wrote: GetFocus()->IsKindOf(RUNTIME_CLASS(CEdit))
If this return true it means the current focus is in an edit control (could be any edit control). If it return false, it mean focus is not in any edit control.
zeus_master wrote: f the focus is on edit control, then do what I want to
Then you code should be:
if (GetFocus()->IsKindOf(RUNTIME_CLASS(CEdit)))
{
}
|
|
|
|
|
I wonder why nobody suggested overriding the "onOk" and "onCancel" functions of the CDialog. , that's the simplest way to get rid of your 'escape' and 'enter'.
<marquee scrollamount="1" scrolldelay="1" direction="up" height="10" step="1">--[ ]--
[My Current Status]
|
|
|
|
|
thank you for you suggestion, Ceric Moonen suggested me also.
now the problem is how do single-line Edit control capture the Enter/Esc key.
|
|
|
|
|
I am using a drop down list CComboBoxEx and I am seeing a very strange behaviour(bug?).
When I left click on the ComboBoxEx, the list drops down. If I do not move the mouse and do not select any item in the list and then perform another left click, the list will close up and then drop down again.
If I right click or select an item and left click instead, the list will just close up correctly.
Does anyone knows how to solve this problem ?
PS. The ComboBox works fine, but Project need to use ComboBoxEx .
|
|
|
|
|
Is there someone that know how to solve this problem?
any answer will be greatly appreciated.
|
|
|
|
|
I created a test project to try out your problem here but i dont have that issue like you described. Does your control looks like losing focus and getting it back again in a split sec?
|
|
|
|
|
Thank you for taking time to test this.
This happens in VC6 SP6,WinXP and Win2k
I have found the same problem in
www.codeguru.com/forum/archive/index.php/t-354179.html
but there is no answer
Thank you in advance
|
|
|
|
|
hi
My application is dialog based.
at the time of running,if u press Esc key
then it is closed. how can i prevent this.
can any one help me?
thanx
rai
|
|
|
|
|
aaaan wrote: My application is dialog based.
at the time of running,if u press Esc key
then it is closed. how can i prevent this.
can any one help me?
See the following code
BOOL CmyApp::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN && (VK_ESCAPE == pMsg->wParam || VK_RETURN == pMsg->wParam))
pMsg->wParam=NULL;
return CWinApp::PreTranslateMessage(pMsg);
}
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
|