|
I handle this message in my Win32 app, in order to not allow the user to size the window below the width of my tool area, which is variable, and to not allow sizing the floating tool window below the width of one button (alsovariable ), plus slider if necessary.
This worked fine up until a day or so ago. That is to say I noticed yesterday that it stopped working at some point. Now the minimum width is always 100 for all windows, no matter what. I've tried hard coded values in WM_GETMINMAXINFO, but they only work if they are greater than 100. Any width less than 100 seems to clamp to 100, and I don't know why.
Christian
After all, there's nothing wrong with an elite as long as I'm allowed to be part of it!! - Mike Burston Oct 23, 2001
Sonork ID 100.10002:MeanManOzI live in Bob's HungOut now
|
|
|
|
|
Can you show me some code, Christian? I dealt with this problem a couple of weeks ago when Steen gave me a helping hand. I managed to get mine so that it could set the max width etc. to 0. Have you reset the lpMMI->ptMinTrackSize to (0,0)? It may default at (100,100)? Hope this helps you Christian, since you`ve helped me countless times in the past.
Alan.
"When I left you I was but the learner, now I am the Master" - Darth Vader
|
|
|
|
|
Ok.. I have this service, runs GREAT!! then I have this socket, runs CRAPPY.
With Naughter's testsvr's example I had taken the beeeep out of the main while loop and put a Thread that runs my Listening socket. I have a log that I can go to, to see my progression in the code.
My thread does initialize the socket and it creates it. I receive no errors. Then my client who is going to connect to my socket trys to connect. The "client" says it connects fine but the Service/Socket doesn't get to that point. This is where the problem is. The OnAccept for the Listening socket does not get called. This is a total MFC app. It is not a console app so I am assuming that I do have a message pump. I could be wrong too. If anyone has tried Sockets with servers I would appreciate any help. I have exhausted all my resources and I am really not sure this could be done. If someone can even tell me it can't be done I would appreciate that too.
Thanks in advance
|
|
|
|
|
I have two classes in a MFC DLL that use AFX_EXT_CLASS to export the classes (like below), but when I link it up to my application and include the header files for the classes I get a lot of errors (error C2228: left of '.Disconnect' must have class/struct/union type) - meaning the functions in the class don't have any code for them... but they should be in the DLL. Here are the classes I am trying to export. Any help would be good on what I am doing wrong, this is my first DLL experience. Thank you.
class AFX_EXT_CLASS CFirstClass
{
}
class AFX_EXT_CLASS CSecondClass
{
}
|
|
|
|
|
Supposing I want to allow the user to supply the file name when creating a file, I am not sure how to do it? I know you can do something similar to this:
#include <fstream.h>
int main()
{
ifstream infile;
infile.open("this_file.txt");
infile.close();
}
What would I use for a declaration to allow the user to name the file whatever they wanted? I hope this is clear enough, I know it is a rather generic question. Thanks in advance.
Nick Parker
|
|
|
|
|
I'm sure if you think about it, the answer is obvious.
#include <fstream>
int main(int argc, char *argv[])
{
ifstream infile;
infile.open(argv[1]);
}
Or, you can ask the user for the name.
int main()
{
string name;
cout << "Enter a filename";
cin >> name;
ifstream infile;
infile.open(name);
}
BTW, there is no need to close the file because it will close automatically when the ifstream object goes out of scope.
--
Where are we going? And why am I in this handbasket?
|
|
|
|
|
This is really strange, but I get a compile error when I try to do:
<small>Erik Funkenbusch wrote:
</small>int main()
{
string name;
cout << "Enter a filename";
cin >> name;
ifstream infile;
infile.open(name);
}
I can't get that to work, only when I specify the name, I know this sounds really strange. Obviously I am using a char instead of string for declaration, does this sound wierd or do you think I am doing something goofy here? Thanks.
Nick Parker
|
|
|
|
|
Try this it should work fine...
#include <iostream.h>
#include <fstream.h>
void main(){
char name[20];
cout << "Enter a filename" << endl;
cin >> name;
ifstream infile;
infile.open(name);
}
Joshua
Sonork ID: 100.9944
ICQ: 519642
Hotmail: JoshuaJGuy@hotmail.com
|
|
|
|
|
I've created a CDialog dlg and I want it to have a system tray icon.
Also I want to handle the messages that are sent from it (the icon).
the code I've wrote for adding the icon:
BOOL CMyDlg::OnInitDialog()
{
//.....................
//.....................
NOTIFYICONDATA nd =
{
sizeof(NOTIFYICONDATA), //.......Structure size
m_hWnd, //.......................Dialog's HWND
m_nIconID, //....................Icon's ID
NIF_ICON|NIF_MESSAGE|NIF_TIP,//..Flags
SYSTRAY_ICO_NOTIFY, //...........#define SYSTRAY_ICO_NOTIFY 12345
m_hIcon, //......................Dialog's HICON
"The tip!" //....................Tooltip text
};
Shell_NotifyIcon(NIM_ADD, &nd);
return 1;
}
BOOL CMyDlg::PreTranslateMessage(MSG *pMsg)
{
if( pMsg->message == SYSTRAY_ICO_NOTIFY ){
//Call some user defined message handler
return TRUE;
}
CDialog::PreTranslateMessage(pMsg);
}
***************************************************
the SYSTRAY_ICO_NOTIFY is never sent, WHY???
***************************************************
Thanks in advance!
--BlackSmith--
|
|
|
|
|
bar-cochva wrote:
the SYSTRAY_ICO_NOTIFY is never sent, WHY???
hm... 12345 is not the right value for that message!
define it as this:
#define WM_TRAYICON WM_APP + 10
But what you realy should do is to use the CSystemTray class by Chris M here on Code Project! go see that
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
Does anyone know of a way to find out what was thrown in a "catch all" catch clause?
The app I'm working on throws all sorts of things in addition to exceptions. I hate having to catch each one.
e.g.
throw TRUE;
throw 3;
throw ErrObject;
Thanks for the help,
Bill
|
|
|
|
|
You can't figure what is cought. That's the catch of catch(...)
|
|
|
|
|
u can combine C++ error handling with C's SEH and u can use SEH to get information abt the exception. Please refer to John Robbins article on SEH and C++ in MSDN Magazine( i forgot the issue ) or his book
Ganesh Ramaswamy
|
|
|
|
|
There's no general way to catch anything throwable inside a try block. However, you can consider the possibility of having your app send an object of generic type, this meaning a class capable of holding values of an undetermined type. This beast indeed exists, and has been implemented in Boost any library (hey, it even works with MSVC++ 6.0). If you follow this approach, all you have to do is replace your throw s with:
throw bost::any(TRUE);
throw boost::any(3);
throw boost::any(ErrObject); Hope this helps.
Joaquín M López Muñoz
Telefónica, Ivnestigación y Desarrollo
|
|
|
|
|
You're probably right about this being the way to go. I was hoping to avoid replacing several hundred assorted throw stmts that are already in the app.
Oh well, Guess I'll get to work!
I appreaciate all the responses.
Thanks for the help,
Bill
|
|
|
|
|
The easiest thing to do is to always throw exceptions using classes that derive from a single "exception" class, similar to how it works in Java. This allows you to always catch any of your exceptions using one
catch(MyBaseException e) statement. I recommend using the std::exception class as your base class.
Regards,
Alvaro
|
|
|
|
|
Thanks for the suggestion. I agree that this is the "best" solution. I was hoping to avoid replacing about 1300 throw's in the existing code base.
Thanks for the help,
Bill
|
|
|
|
|
I don't think I've ever had to cast calls to str{len|cpy| etc..} before.
What's more is that it's an error:
error C2664: 'strlen' : cannot convert parameter 1 from 'unsigned char [256]' to 'const char *'
as used in:
dwLen = strlen(modemInit[i]);
They should be warnings - if anything is to be said at all.
Is there someway for me to set it so I don't have to cast it?
|
|
|
|
|
|
The char type is signed, so an unsigned char* doesn't match a signed char* .
--Mike--
http://home.inreach.com/mdunn/
While I can't be correct on all matters, I can make the reassuring claim that where I am inaccurate, I am at least definitively inaccurate.
your with and
Sonork - 100.10414 AcidHelm
Test out a prerelease build of my Hotfix Checker v2.0! (133K)
|
|
|
|
|
Hello everybody,
Where can i find good information in order to know how to
automate excel throught VC++6.0.
Thanks for help.
S.
|
|
|
|
|
M S D N - thats it
Ganesh Ramaswamy
|
|
|
|
|
How I can use IMAPI classes? After the installation, I haven't seen the file imapi.idl into directory include. So the Visual C++ compiler give me a link error (LNK2001).
Is there someone that can help me?
Thanks.
|
|
|
|
|
Hi,
I write a program to run some CGI Script in some domain in Internet. I use MSHTML.DLL in my program, so if I distribute my program, I'll distribute this DLL too?
|
|
|
|
|
Hi
I tried to get my app to show Euro, but I failed. I'm
using English Windows with Japanese multilanguage
package. By using GetCurrencyFormat(
LOCAL_USER_DEFAULT ...), I managed to get a yen mark,
according to my windows currency setting. Dollar also
normally works. But when I set my currency to Euro, a
question mark is returned. Could anybody please tell me
how to get the Euro character?
Thank you,
Danny
|
|
|
|