|
Dear Maximilien,
Thank for your feedback! I want to show CLoginDialog(first). After input userID and password successfully, conntinue show CDataDialog(second) and I can type data on this CDataDialog.
Best Regards,
LQL
|
|
|
|
|
Le Quang Long wrote: ...but when I add a new dialog into this project... Are you talking about adding a new dialog template in the project's .rc file, or adding a new CDialog -based class?
Le Quang Long wrote: ...and can not call dialog). Why not? Isn't it just like the other (first) dialog?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Show me a community that obeys the Ten Commandments and I'll show you a less crowded prison system." - Anonymous
|
|
|
|
|
I talking about adding a new dialog the same dialog-based.
Thanks,
|
|
|
|
|
I talking about adding a new dialog the same dialog-based.
I can not call this new dialog!
Thanks,
|
|
|
|
|
I talking about adding a new dialog the same dialog-based.
I can not call this new dialog( second dialog)! Pls give me a source code(ex)?
Thanks,
|
|
|
|
|
How can we give you source code when we have no idea what your program is doing? If you cannot call a dialog in your program then you need to give a much better explanation, including showing the code that does not work, and explaining what happens when you try.
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
I found that some open source project design itself hashtable, when need write itslef hashtable?
It will resolve which problem?
|
|
|
|
|
yu-jian wrote: It will resolve which problem?
What problem is the open source project addressing?
Binding 100,000 items to a list box can be just silly regardless of what pattern you are following. Jeremy Likness
|
|
|
|
|
how can i Select median of two sorted arrays that not have the same size ? and also i need to find with o(logn) time.
|
|
|
|
|
As in the median of the data set in the union of both arrays?
|
|
|
|
|
the median from the both arrays together
|
|
|
|
|
Have a look on Google for "median value of two sorted lists." There's a good algorithm on the first page.
Cheers,
Ash
|
|
|
|
|
|
The idea of step 2 is this:
assuming you have two arrays with N and M elements, respectively, where N < M . Now extend that array by attaching M-N additional numbers. Then you have two arrays of the same size and can use step 1 to solve the problem.
That said, you should not actually extend the smaller array, as that would be O(N). You only have to modify the algorithm to behave as if it were extended. Also the description isn't quite correct as it fails to mention that you have to attach a like number of smaller and bigger elements to make sure the median isn't moved: so add (M-N)/2 elements that are smaller than the smallest element of both arrays at the start of the smaller array, and then (M-N)/2 elements at the end that are bigger than the biggest number in both arrays. (As I said, you don't actually add these values, you only do this virtually).
Example:
arr1 = { 6, 11, 18 } (length 3)
arr2 = { 4, 5, 8, 9, 10, 12, 15 } (length 7)
step 2 (adding 2 values at both the start and the end):
arr1a = { 1, 2, 6, 11, 18, 19, 20 } (length 7)
Actually "step 2" is a misnomer as it is supposed to be executed before step 1 in case the precondition (same array size) isn't met.
|
|
|
|
|
What do two arrays have to do with the problem? Put them together into a single array, which need not be sorted. There are no fewer than five such algorithms available online (e.g., Dromey, Knuth, Floyd). This very subject was my thesis paper in graduate school.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Show me a community that obeys the Ten Commandments and I'll show you a less crowded prison system." - Anonymous
|
|
|
|
|
if i Put them together into a single array ,it's not o(logn)
|
|
|
|
|
If you merged one sorted array into the other, the cost would simply be O(N log(N)). The cost for picking the element at position N/2 would then be O(1).
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Show me a community that obeys the Ten Commandments and I'll show you a less crowded prison system." - Anonymous
|
|
|
|
|
|
a1_shay wrote:
nlogn it"s not logn Whatever you are attempting to convey here did not work.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Show me a community that obeys the Ten Commandments and I'll show you a less crowded prison system." - Anonymous
|
|
|
|
|
He said that O(N log(N)) is not O(log(N)), and he has a point
|
|
|
|
|
Hello everybody,
This will take a little while to describe the problem I'm facing, and I will appreciate your patience.
I'm creating a pretty large SDI MFC application, with a lot of options and controls. Most of the application screens are list based. If that matters, imagine MS Word 2007 with editable list instead editable document.
Some of the controls activate a pretty lengthy operations that do work on the list, and update its entries. These operations use worker threads to do their work.
Now, the problem. I want to update the list on the go while disabling all the controls, except one - the "cancel" button.
A simple EnableWindow(FALSE) wouldn't work, as the application is Ribbon based. I.e. to make the buttons look disabled I must handle ON_UPDATE_COMMAND_UI.
Simple message pump wouldn't work as well, because of MFC message routing.
Can anybody suggest a proper approach for such an application? That is both relative simple and general (I have many different operations that activate worker threads).
|
|
|
|
|
I do not understand this statement:
>> Simple message pump wouldn't work as well, because of MFC message routing.
Are you referring to a local message loop?
Of course EnableWindow won’t work, since ribbon Windows controls, all controls with are derived from CObject and are represented by just image drawn by the ribbon control. Few of them are actually hosting Windows control (like CMFCRibbonEdit for example).
Anyway, if you update some data in the background using worker thread, use a variable that would tell update command handler to toggle enabled state: disable when thread is still running, and enable when thread is done, using CCMdUI.
You can also consider using
ON_UPDATE_COMMAND_UI_RANGE, for the range of the ribbon’s panel controls.
JohnCz
|
|
|
|
|
You can post a message from your thread to the view that contains your list. Your view can then add the data to the list (or modify it as needed) and then call UpdateWindow() fot the list.
UpdateWindow bypasses the normal winproc and is handled immediately by the window.
Hope this helps.
Karl - WK5M
PP-ASEL-IA (N43CS)
PGP Key: 0xDB02E193
PGP Key Fingerprint: 8F06 5A2E 2735 892B 821C 871A 0411 94EA DB02 E193
|
|
|
|
|
I do not think that UpdateWindow addresses the original problem. UpdateWindow triggers system to sends (not posts) WM_PAINT message, therefore message is not placed in the queue. SendMessage causes system to call windows procedure directly, therefore this s a blocking call.
Anyway, original problem is to update UI controls on the ribbon, not list control.
Setting variable using proper synchronization is I think less expensive than posting the custom message from the worker thread; however I think the difference is negligible.
If PostMessage is used, the handler can set variable to be used in Update UI handlers.
JohnCz
|
|
|
|
|
Here's an excellent article on worker threads: WorkerThreads[^]
"Real men drive manual transmission" - Rajesh.
|
|
|
|