|
Hi
I have been searching the forum for a while now, but haven't found an answer for my question.
When I write code in C++, I seperate methods and such with blank lines. Thus dividing them into logical groups.
Well I do this in every language I write code in, but C++ is giving me a hard time with this. When I collapse the methods, it will also include my blank lines. I know I can use regions to do this, but since C# and VB do not have this behavior, I was wondering. Is this a certain setting in Visual studio or is het just a crappy way of making the layout? I'm using the express by the way.
Thanks in advance
Steven
|
|
|
|
|
Steven Solberg wrote: When I write code in C++, I seperate methods and such with blank lines. Thus dividing them into logical groups.
Same here, except I use a commented row of '=' characters.
"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
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
I use (have used) express editions of VC++ 2005, 2008 and now 2010 and none of them exhibit the behaviour you describe (if I understand correctly). If I have a method followed by a blank line, when I collapse the method the blank line is still visible.
It's time for a new signature.
|
|
|
|
|
|
This does not make a difference to the compiler, but it is easier to understand code when you look at it later on.
Like I said; I use blank lines to make the code look more logically grouped. I do use regions as well, but I don't like the hassle of having a bunch of regions nested in each other. Typically, when my screen gets too small to view all the code that belongs together I start inserting regions.
Example:
//Methods in a menu
private void btn1_onclick...
{
}
private void btn2_onclick...
{
}
private void btn3_onclick...
{
}
//Other methods or functions
private void someMethod1...
{}
private void someMethod2...
{}
edit: Oops... I'm still thinking C# lately, just act like this is correct C++ code :p
|
|
|
|
|
Bram van Kampen wrote: Who cares how I separate them!
I certainly don't; I was responding to someone else's question.
It's time for a new signature.
|
|
|
|
|
Hi All
How can i create database in ms access?Please help me
|
|
|
|
|
Within Access, click New from the File menu.
Programmatically, you can use Access' COM interface (i.e., automation).
"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
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
How do I submit my code. I submitted a source code through submit@codeproject.com but till now I have not seen it. Is there any other way it is submitted?
|
|
|
|
|
Dan_K wrote: How do I submit my code.
Did you read here?
Dan_K wrote: I submitted a source code through submit@codeproject.com but till now I have not seen it.
It takes a few days for the editors to get to it.
Dan_K wrote: Is there any other way it is submitted?
Use the Wizard, Luke.
"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
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
submit for what ? an article ? or for a question in the different forum ?
Watched code never compiles.
|
|
|
|
|
It's a complete code submittes as an article.
|
|
|
|
|
When did you submit? You should get an email fairly quickly when one of the editors gets to look at it. Sometimes there are lots of articles on the queue so it may take some time.
It's time for a new signature.
|
|
|
|
|
Can anyone help me in getting event messages from an API to C++ DLL?
It is working fine with an Windows Application but I want to make a dll for this purpose.
What should I mention in BEGIN_MESSAGE_MAP?
Ayaz ul Hassan
|
|
|
|
|
|
That key handler (provided you've got a message map entry for it) will only trap key downs for the form view. The edit control is a different window.
Your choices here are:
- find a WM_COMMAND from the edit control that does what you want and handle that in the form view
- derive a class from CEdit and reflect messages from the form view into the control. Do a search for MFC message reflection to see how this works.
(This[^] isn't too bad about message reflection but it might be out of date).
Cheers,
Ash
|
|
|
|
|
i did add the WM_KDOWN but still nbothing happen when i press a key. I tried it with an application Based on CEditView and it works.
It seems a prob with The FormView Class
"The Ultimate Limit Is Only Your Imagination."
|
|
|
|
|
Isn't CEditView "just" and edit control? Any messages from the edit control will be processed by the CEditView.
An edit control on a form view has an additional window involved. Key down message will be processed by the edit control and not the form view.
Cheers,
Ash
|
|
|
|
|
Ok, what u said is great and means that my edit control, normally, can implement the OnKeyDow function even if my form is CFormView Class. but based on my code (first message) nothing is happening.
"The Ultimate Limit Is Only Your Imagination."
|
|
|
|
|
Yep, but your code for the handler is in your CFormView overide, not in a CEdit override.
What I'd do is...
- Derive a class from CEdit
- Add ON_WM_KEYDOWN to its message map
- Implement OnKeyDown
Snip, snip, Bob's yer Aunty.
Cheers,
Ash
PS: If you do implement it this way remember to call CEdit::OnKeyDown to allow the normal window procedure to handle the keystroke otherwise you'll cripple the behaviour of the edit control.
|
|
|
|
|
It seems the best way, after all spending 4 hours looking for a function or a sample code is stupid
I created a CEdit based class, called CTest in whhich i add the OnKeyDown(...) Now how could call it from the OnChangeEdit1 Function of my CFormView? PS: I need to pass the 3 parameters UINT of OnKeyDown << Newbie question sorry
"The Ultimate Limit Is Only Your Imagination."
modified on Tuesday, June 8, 2010 1:36 PM
|
|
|
|
|
what about PreTranslateMessage ??
how could i know the key pressed by the user ??
"The Ultimate Limit Is Only Your Imagination."
|
|
|
|
|
You don't need to use PreTranslateMessage - that's for doing something global to a message before it's processed by a window.
Cheers,
Ash
|
|
|
|
|
I used to get the version and copyright from the resource files using the following
char ThisProgramsName[256]="";
GetModuleFileName(AfxGetInstanceHandle(),ThisProgramsName,256);
DWORD dwHandle = 0;
DWORD dwSize = GetFileVersionInfoSize( ThisProgramsName,&dwHandle );
if(dwSize!=0L) {
UINT uVerInfoSize;
char *lpVerInfo = new char[dwSize];
GetFileVersionInfo(ThisProgramsName, dwHandle, dwSize,lpVerInfo );
The libraries have all changed in VS2010. What do I need to link to satisfy these calls, or has the method of retrieving this information changed.
Same question for GetAdapters
This is the old code
PIP_ADAPTER_INFO pAdapterInfo;
PIP_ADAPTER_INFO pAdapter = NULL;
DWORD dwRetVal = 0;
UINT i;
unsigned long LowestHexIP, PossibleIP;
char MacByte[4], MacID[16], LowestMacID[16];
ULONG ulOutBufLen = sizeof(IP_ADAPTER_INFO);
pAdapterInfo = (IP_ADAPTER_INFO *) MALLOC (sizeof(IP_ADAPTER_INFO));
// Make an initial call to GetAdaptersInfo to get
// the necessary size into the ulOutBufLen variable
if (GetAdaptersInfo (pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW) {
FREE (pAdapterInfo);
pAdapterInfo = (IP_ADAPTER_INFO *) MALLOC (ulOutBufLen);
}
ES
|
|
|
|
|
Ed SHaw wrote: The libraries have all changed in VS2010.
I'm not sure this is strictly accurate, according to the GetFileVersionInfo[^] page on MSDN you need Version.lib, and I know from my own projects that this has not changed for some time. I expect GetAdapters will have a similar information page that you can look at.
It's time for a new signature.
|
|
|
|