|
thx
(I'm sorry for the wrong spelling of suspend )
Don't try it, just do it!
|
|
|
|
|
How do you stop an SDI application window from being resized?
Thanks
|
|
|
|
|
I think removing the client edge style will do the trick.
MSN Messenger.
prakashnadar@msn.com
Tip of the day of visual C++ IDE.
"We use it before you do! Visual C++ was developed using Visual C++"
|
|
|
|
|
Thanks, that worked, but now I have another couple of problems.
First of all I have a status bar and I cannot get rid of the gripper on that.
Secondly there is now a 1 pixel wide transparent gap around the view (where I assume the thick border would have been)
You can see what I mean at http://a.domaindlx.com/sschilachi/snooker.JPG[^]
Thanks
|
|
|
|
|
humm, sorry cant help you with that prob.. post that porblem as seperate question may be someone else will help you.
MSN Messenger.
prakashnadar@msn.com
Tip of the day of visual C++ IDE.
"We use it before you do! Visual C++ was developed using Visual C++"
|
|
|
|
|
one way is to override OnGetMinMaxInfo(). In it, assign values to ptMinTrackSize and ptMaxTrackSize of the lpMMI variable. If the values are the same, the window will not be resizeable, although the arrow still changes to indicate that it can.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
Yet another way is to make a handler for WM_NCHITTEST in the app's mainframe class. You can "fool" by returning HT_CLIENT values for those on the edges. You can also override CStatusBar and do the same there. I have done this and it works well.
a two cent stamp short of going postal.
|
|
|
|
|
Does anyone know how to change the tab control color on the propertysheet? Overwrite CPropertySheet::OnCtlColor(...) doesn't quite work
|
|
|
|
|
Unless it is part of your requirements (which I would then still question), don't do it programmatically. Change it on the Appearance tab of the Display Properties dialog.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
One possiblity is that You need to custom draw the tabcontrol that is associated with the the propertysheet..
there are few samples here in CodeProject that exactly does that.
MSN Messenger.
prakashnadar@msn.com
Tip of the day of visual C++ IDE.
"We use it before you do! Visual C++ was developed using Visual C++"
|
|
|
|
|
ive been working on some simulation code, what i have written basically what it does it creates a Vector and fills it with random DOUBLE numbers from two different sources untill maz_size reached.. what im stuck is i want to go thorugh each element in the vector..prob using an iterator such as input_iterator i think?
so the vector is such..
[number_from_first_source, number_from_secondSource, number from_first source...etc etc]
so every odd element is form source1 and every even element is from source 2..
now i want to go thorugh each element with specific iterator value..example lets say 20ms i.e. 0.002..quite small value. the random numbers are all seeded values. so how owul di go through the vector with this small iterator value.
i will paste the written code.
]#include <iostream><br />
#include <vector><br />
#include <stdlib><br />
#include <time><br />
#include <numeric><br />
#include <algorithm><br />
#include "exponentialgenerator.h"<br />
<br />
using namespace std;<br />
<br />
ExponentialGenerator one = 1.41;<br />
ExponentialGenerator two = 1.71;<br />
<br />
double nextNumber = reinterpret_cast<double>one.generate());<br />
double nextNumber2 = reinterpret_cast<double>two.generate());<br />
int counter = 0;<br />
<br />
void fillVectorToSum(vector<double>& v, double sum)<br />
{<br />
<br />
int total = 0;<br />
do {<br />
if (counter++ % 2){<br />
v.push_back(nextNumber);<br />
total += nextNumber;<br />
nextNumber = one.generate();<br />
}<br />
else {<br />
v.push_back(nextNumber2);<br />
total += nextNumber2;<br />
nextNumber2 = two.generate();<br />
}<br />
<br />
} while(total+nextNumber+nextNumber2 <= sum);<br />
if(total < sum)<br />
v.push_back(sum-total);<br />
}<br />
<br />
int main()<br />
{<br />
<br />
srand((unsigned) time(NULL));<br />
vector<double> v;<br />
fillVectorToSum(v, 30);<br />
<br />
cout << "Number of elements: " << v.size() << "\nTotal: "<br />
<< accumulate(v.begin(), v.end(), 0) << endl;<br />
copy(v.begin(), v.end(), ostream_iterator<double> (cout," "));<br />
<br />
}
the exponentialGenerator.h file i use jus to generate numbers if your wondering....
anyway any input to this problem would be appreciated.
|
|
|
|
|
What is the problem? Your code seems valid. Are you having output problem like formatting?
Kuphryn
|
|
|
|
|
the code is correct..but i want to go thorugh every element in vector because my silumation will go though each nunmber at 20ms at time chunks and will alow me to 'do stuff' with it..basically i want to know how 2 create a iterator to do this..
you see it will go to the firts number and say its 2 and the iterator is 0.002..s it will keep going thorug it until it reaches end of number ..when it gioes to the second number..something happens..but i dont know how to do this part i.e going thrugh the numbers with this small itertaor value..if u know what i mean.
|
|
|
|
|
vector::iterator it;
for (it = v.begin(); it != v.end(); ++it)
{
}
Ant.
|
|
|
|
|
I would like to place a lot of components in 1 dialog. But i want it to stay small, and i want to move from one control to another with scroll bars. Something like - I have 100 Edit boxes, but for one time i can see only 5, and by pushing the scroll bar i would like them to move from right to left or backwards.
How to do it???
I tried to enable the horizontal scroll bar in my Dialog(in the properties window), but i didn't understand how does it work.
|
|
|
|
|
Hi Rassul,
There's a simple and slightly hacky approach and there's the stanradrd approach. The hacky one is a subset of the normal one.
What you'd usually do, is create a dialog containing your 100 edit-boxes or any other thing you'd like to display. This dialog should have no border/caption/etc.
Now create your normal application dialog, and place a static control over most of it, lets call this a place-holder.
What you'd do now is create the 100-edit-box dialog as a child of this static control. Since window's clips everything, you'll only see the first five. If you 'SetWindowPos' and move the 100-edit-box dialog upwards, it will simulate a scroll downwards. All you have to do is connect this with scroll-bar functions and youre good.
But... this isn't the easiest thing to do, so... You can also create your 100 edit-boxes dynamicaly, and change their positions according to scroll-bar movements (remember it's all clipped so most of them are simply hidden nicely).
Use methods like CWnd::SetScrollInfo , GetScrollPos . Respond to messages like WM_HSCROLL .
Keep in mind that there may be other ways, but the last one is pretty straight-forward.
cheers
|
|
|
|
|
Hi guys
I've implemeted the solution proposed in
ID:Q117563 How to trap WM_KEYDOWN Messages in a CDialog succesfully but...
the problem is that each time I press a key, an ennoying 'ding' sounds.
Do you know what I have to do to avoid this 'ding' sound?
Best Regards
Doc
|
|
|
|
|
It's hard to say, without narrowing it down to just a few lines of code. If, in the overridden ProcessMessageFilter() , you simply called the base class implementation, does the 'ding' go away?
[edit]
I have a small application that displays a modal About box. When that dialog is up, any key press causes the 'ding' sound. I then added a few controls to the dialog. Depending on which control had focus, the 'ding' either happened or it didn't. I did not have an overridden ProcessMessageFilter() method.
[/edit]
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
I guess if you return 0 in the WM_KEYDOWN event will probably remove the ding sound.
MSN Messenger.
prakashnadar@msn.com
Tip of the day of visual C++ IDE.
"We use it before you do! Visual C++ was developed using Visual C++"
|
|
|
|
|
Hi guys
Sorry for the delay, but the Atlantic Ocean is between us. ))
This is the substituted ProcessMessageFilter,sending a message to the dialog.
Previously I've fill m_hwndDialog with the handle to my dialog.
BOOL CMQWinApp::ProcessMessageFilter(int code, LPMSG lpMsg)
{
// Check to make sure CPenWidthsDlg is up
if (m_hwndDialog != NULL)
{
if ((lpMsg->hwnd == m_hwndDialog) ||
::IsChild(m_hwndDialog, lpMsg->hwnd))
// Use ::IsChild to get messages that may be going
// to the dialog's controls. In the case of
// WM_KEYDOWN this is required.
{
if (lpMsg->message == WM_KEYDOWN) {
TRACE("Got WM_KEYDOWN\n");
SendMessage(m_hwndDialog,WM_KEYDOWN,lpMsg->wParam,lpMsg->lParam);
}
}
}
// Default processing of the message.
return CWinApp::ProcessMessageFilter(code, lpMsg);
}
The ding is produced after my OnKeyDown method is processed in my dialog.
Some clue?
Doc
|
|
|
|
|
Hi!
The idea came from ICQ, where if you dock it to the sides it limits the size of the desktop the same way as i.e. the tray does.
So I'd like to know how to restrict the desktop, and therefore the size of the maximized windows', is there even any way, a func, or something...
Thx in forward
|
|
|
|
|
One possible solution is WM_GETMINMAXINFO message in MFC.
Kuphryn
|
|
|
|
|
Read up on application bars (app bars) in MSDN, those are the windows like the taskbar that dock to the sides of the screen.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
There is a saying in statistics that a million monkeys pounding on typewriters would eventually create a work of Shakespeare. Thanks to the Internet, we now know that this is not true.
|
|
|
|
|
Is there a certain file I should include to use the namespace std? I keep trying to put in my file 'using namespace std' and keep getting an error telling me that namespace doesn't exist
If it's broken, I probably did it
bdiamond
|
|
|
|
|
no, there's no single file to include, and if you're not using any classes that are in std, you don't need to use the namespace.
but, if you want to have "using namespace std;" for some other reason and just want to get rid of that error message, try :
#include < vector >
Cleek | Losinger Designs | ClickPic | ThumbNailer
|
|
|
|