|
see the following code, it works fine
string Numbers("Laxman");
cout << "Before calling random_shuffle\n" << Numbers.c_str()<<endl ;
for(int i=0;i<6;i++){
random_shuffle(Numbers.begin(),Numbers.end()) ;
cout << "After calling random_shuffle\n" << Numbers.c_str()<<endl ;
}
Knock out 'T' from CAN'T ,
You 'CAN' if you think you 'CAN'
|
|
|
|
|
thanks...
|
|
|
|
|
I don't want to be rude, but have you tried the debugger?
If a program doesn't work, a debugging session is the best way to find out why.
Just single-step the code and see what happens. (That's especially easy when it's a small program like this).
You have been struggling with this problem for about a week, if you had done a couple of debugging sessions, the the problem should have been solved several days ago.
It's well worth the time it takes to learn how to use the debugger.
|
|
|
|
|
if i found the error i wont post it here..if u felt that its easy error for you just keep it to your self please dont insult others...forum is place where we learn to correct mistakes...
|
|
|
|
|
That's not an insult!
It's a suggestion from someone who have been coding C professionally since around 1982!
And know how useful the debugger is.
|
|
|
|
|
okies...next time i will do that sorry..
|
|
|
|
|
Yeah, try it. It's the easy way.
And it will save you heaps time of trying to figure out why it doesn't work.
Knowing is always better than guessing.
|
|
|
|
|
Hi all,
I have a child control in my dialog app. I changed it to popup by using ModifyStyle. The style is changed, but its behaviour is still as child. I mean, it is not getting top of the other controls, like popup dialogs do.
Is it wrong to change from child to popup?
Thank you.
- NS -
|
|
|
|
|
What type of control? and is it a bitmap on top of the dialog.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
NS17 wrote: The style is changed, but its behaviour is still as child. I mean, it is not getting top of the other controls, like popup dialogs do.
Try calling BringWindowToTop after changing style for the control.
Nibu thomas
Software Developer
Faqs by Michael dunn
|
|
|
|
|
Nibu thomas wrote: Try calling BringWindowToTop after changing style for the control.
It cannot fix the problem...
- NS -
|
|
|
|
|
|
No way
- NS -
|
|
|
|
|
HI,
I'm a little confused about what you want to get changin' the control style from Child to Popup.
A child window apears in the client area of the parent window, as opposed to the popup windows that appears outside.
NS17 wrote: mean, it is not getting top of the other controls, like popup dialogs do.
Reading your question i think you want to put your control over another child control inside the client area of your application's window. To do this you simply call the API function SetWindowPos(HWND Window, HWND IsertAfter, ...., int flags). On successful completion, Window gets over InsertAfter. Remember, if you don't want to move nor resize the control you can pass as flags (SWP_NOMOVE|SWP_NOSIZE).
Hope this will be helpfull.
Beren
|
|
|
|
|
But there is a problem..
Consider There is an edit control and a staic control in the dialog.. Using the SetwindowPos I moved the staic control over the edit control( only half overlapped). But now if I clicked in the edit control, it will paint over staic control..
nave
|
|
|
|
|
You can always process the WM_SETFOCUS (or similar) message and the bring the window to the background/front
|
|
|
|
|
But consider if static control was created as popup window we need not have to take care of any message.. The underliying edit control will never draw over it..
nave
|
|
|
|
|
No, that is not what I want...
I just want it as Popup, like the popup dialogs. I should not be clipped by the client of the parent.
- NS -
|
|
|
|
|
Then,
depending on the type of the control you want to make "popup" there can be different approaches, but you can try to make a popup window (a real window) and moving the control to that window using SetParent/SetOwner.
Beren
|
|
|
|
|
The control is custom calendar derived from CMonthCalCtrl. It is created as a dlg item and a member variable is assigned. So it is basically a child. Now I want to give it popup style with out changing the parent, because the parent needs the messages from it.
Please note that if we create the same control dynamically with popup style it is working fine.
- NS -
|
|
|
|
|
try using SetWindowLong and GetWindowLong
SetWindowLong(GetSafeHwnd(),GWL_STYLE,~WS_CHILD & WS_POPUP | GetWindowLong(GetSafeHwnd(),GWL_STYLE));
RedrawWindow(NULL,NULL,RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN);
Change the hwnd parameter of the SetWindowLong And GetWindowLong of which you want to change the style.
Knock out 'T' from CAN'T ,
You 'CAN' if you think you 'CAN'
|
|
|
|
|
I have tested it... and this code will do the job:
<br />
{<br />
long x;<br />
<br />
x=GetWindowLong(B1, GWL_STYLE);<br />
<br />
x&=~WS_CHILD;<br />
x|=WS_POPUP;<br />
<br />
SetWindowLong(B1, GWL_STYLE, x);<br />
UpdateWindow(B1);<br />
SetParent(B1, NULL);<br />
<br />
SetWindowPos(B1, NULL, X, X, 0, 0, SWP_MOVE|SWP_NOSIZE|SWP_NOZORDER);<br />
}<br />
<br />
|
|
|
|
|
I can't change the parent. Messages are going to the parent.
- NS -
|
|
|
|
|
I'm getting more and more confused...
WS_CHILD is not compatible with WS_POPUP, so your control is a child window or a popup window, can't be an hybrid. If you change WS_CHILD to WS_POPUP then you must change the parent window to NULL. See SetParent on MSDN remarks section:
For compatibility reasons, SetParent does not modify the WS_CHILD or WS_POPUP window styles of the window whose parent is being changed. Therefore, if hWndNewParent is NULL, you should also clear the WS_CHILD bit and set the WS_POPUP style after calling SetParent. Conversely, if hWndNewParent is not NULL and the window was previously a child of the desktop, you should clear the WS_POPUP style and set the WS_CHILD style before calling SetParent.
If the control have a parent differen than the Desktop your control MUST be WS_CHILD, otherwise it MUST be WS_POPUP.
-- modified at 5:47 Thursday 18th May, 2006
|
|
|
|
|
_Beren_ wrote: WS_CHILD is not compatible with WS_POPUP
I use ModifyStyle( WS_CHILD, WS_POPUP ); to change the style.
_Beren_ wrote: If you change WS_CHILD to WS_POPUP then you must change the parent window to NULL.
If I create the control dynamically as popup its parent can be dialog wnd. And it is working fine as I desired. The dialog wnd is passed as the parent to create the control. And using a spy I can identify that the parent is the dialog itself.
I just want to make the control created as child, to be the same as I created dynamically. Hope you can understand what I am trying to do.
- NS -
|
|
|
|