|
Tools - Options - Compatibility - uncheck "Double-click in Dialog editor edits code (MFC only)".
By this way feature is deactivated completely. I really don't know what to do if you want to deactivate it only for non-MFC projects.
|
|
|
|
|
Thanks a lot, that did the trick.
|
|
|
|
|
Hi all,
I developped a MDI application that shows a timetable for an appointment system. It basically show staff members and the appointments they are assigned. Each appointment is represented using a derived CWnd object. You get information on appointments by hovering on them using another CWnd derived object.
My problem is that I've got a lot of flicker when i'm dragging appointments or when I hovering on appointments. It really flicker when there's a lot of appointments showing up.
I tried implementing double-buffering but it didn't change anything, any idea?
Pyt
|
|
|
|
|
Try to show the information by testing for a time lag
of say about 500 ms to 1 sec.
I think windows tooltips are also implemented in this manner
|
|
|
|
|
You can should draw at first to a memory dc and the draw to the screen.
Another solution is to use timers for redrawing.
My experience is also if it doesn´t work, may be there an conceptional mistake.
(Oversized solution)
IMHO: that each appointment is a CWnd seems to be no good idea. I would internally work with an array and access it via the screen coordinates. The output would be simple Retangles.
Try it @ home. (B&B)
|
|
|
|
|
Hi,
The thing is that my controls are drawing themselves and that I already implemented a memory dc in the drawing code.
Could the problem be that my view is not actually drawing the controls, but just sending a WM_PAINT message to each of my derived CWnd controls ?
|
|
|
|
|
You´re right. You have understood the principle architecture of the Windows API.
My suggestion implies that the area would be drawn by the "containing" window.
Try it @ home. (B&B)
|
|
|
|
|
Thanks for the info, i'll give it a go.
Pyt
|
|
|
|
|
|
By the way, did you know that 'flicker' is dutch 'slang' for a homosexual guy?
Imagine what MS-Word said a few years ago when I typed in a meeting report that one of our applications had a flicker-problem...
(I know this really belongs in the lounge-forum, but I couldn't resist, sorry).
Enjoy life, this is not a rehearsal !!!
|
|
|
|
|
Is there a way to find the minimum necessary size for the buffer argument of vsprintf before making the call?
rechi
|
|
|
|
|
sprintf works by calling a the low-level output function (_output) with a stream handle. that same output function handles all printf-style output (printf, sprintf, fprintf, etc). the output function simply outputs to a stream, which can grow as large as necessary.
so... to simulate it... run down the format string, parse it, add up the size of all the output specs. not easy.
-c
A conclusion is simply the place where someone got tired of thinking.
|
|
|
|
|
Use _vsnprintf and if it returns -1, your buffer is too small.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
If you have MFC installed (with VC6), the CString member "FormatV" (which is internally called by "Format"), does this sort of checking (i.e., runs through the format specifications and makes a "guess" at what size the buffer should be). The code for this function is in "YOUR_ROOT_MSDEV_DIRECTORY_HERE\vc98\mfc\src\strex.cpp"
Chris Richardson
Programmers find all sorts of ingenious ways to screw ourselves over. - Tim Smith
|
|
|
|
|
I have an application where I want to find out the details of a DLL - version, internal name etc. if possible.
There is an original DLL which I need to check and replace with another of the same name.
Any ideas ?
Thanks.
Elaine
Would you like to meet my teddy bear ?
|
|
|
|
|
You can read the version resource from them:
Here's a snippet from my code that does a very simple resource reading. (m_sArquivo has the fileName)
DWORD dwDummyHandle;
CString sArquivo(m_sArquivo.c_str());
DWORD dwSize = GetFileVersionInfoSize(sArquivo.LockBuffer(), &dwDummyHandle);
sArquivo.ReleaseBuffer();
if (dwSize == 0)
throw CWin32Error();
BYTE *lpBuffer = new BYTE[dwSize];
if (!GetFileVersionInfo(sArquivo.LockBuffer(), dwDummyHandle, dwSize, lpBuffer))
{
delete []lpBuffer;
throw CWin32Error();
}
VS_FIXEDFILEINFO *vInfo;
UINT uInfoSize;
if (!VerQueryValue(lpBuffer, _T("\\"), (LPVOID*)&vInfo, &uInfoSize))
{
delete []lpBuffer;
throw CWin32Error();
}
if (uInfoSize == 0)
{
delete []lpBuffer;
throw CWin32Error();
}
std::strstream out;
out << HIWORD(vInfo->dwFileVersionMS) << "."
<< LOWORD(vInfo->dwFileVersionMS) << "."
<< HIWORD(vInfo->dwFileVersionLS) << "."
<< LOWORD(vInfo->dwFileVersionLS) << std::ends;
delete []lpBuffer;
return out.str();
lazy isn't my middle name.. its my first.. people just keep calling me Mel cause that's what they put on my drivers license. - Mel Feik
|
|
|
|
|
I create a project where I include a file.h in another folder in the same project.
when I used #include "myfile.h"
the compiler don't find the file.
How can I do for find it ?
Best Regards
youssef
|
|
|
|
|
use
#include "dir/myfile.h"
lazy isn't my middle name.. its my first.. people just keep calling me Mel cause that's what they put on my drivers license. - Mel Feik
|
|
|
|
|
or add the path ( relative path, not absolute ) to the "additional include directories" in the C++ tab of the project settings.
|
|
|
|
|
If the thumb compiler doesn´t find the file because he doesn´t find the file you must show him the file.
Try it @ home. (B&B)
|
|
|
|
|
The workspace pane lists the following function incorrectly:
<br />
void Show(CRect rectTitle, LPCTSTR lpszTitleText, int xoffset = 0, LPRECT lpHoverRect = NULL, const LOGFONT* lpLogFont = NULL, COLORREF crTextClr = CLR_DEFAULT, COLORREF crBackClr = CLR_DEFAULT);<br />
It will say:
<br />
Show(CRect rectTitle, LPCTSTR lpszTitleText, int xoffset)<br />
When double-clicked, VS shows a messagebox saying it can't find the definition(implementation) of this function. (Well, duh...)
When it's changed (LPRECT changed to something like CRect*), the workspace pane will list the function as:
Show(CRect rectTitle, LPCTSTR lpszTitleText,int xoffset, CRect* lpHoverRect, const int LOGFONT)
Again, it goes awry, and this time it screws up bad... VERY bad. Making a
The only way to get a correct listing in the workspace pane is by removing the default-values....
This bug does not influence the compiling, fortunatly, but it makes debugging these botched functions a bit annoying. (select a different function, then scroll to the botched up one.)
|
|
|
|
|
Hello, everybody. I have an application in which I will have a control box with several data to fill in, several data to be updated, and some command buttons. I also like to add menu facilities.
If I used the mfc (exe) wizard application, either I create a single document or a control-box based application. So,
1. How do I include a control box without having a menu command to invoke it, I mean that the control box appears when I start the application.
2. How do I include menues facilities to the control-box based application?
I have been looking the online help, ans some manuals I have got without success.
Thank you very much,
Eric Manuel Rosales Pena Alfaro
PhD student
Unversity of Essex
Wivenhoe Park
Colchester, CO4 3SQ
Essex, Uk
email: emrosa@essex.ac.uk
tel: +44-01206-87311
|
|
|
|
|
I think you need to read about dialogs, CFormView and related topics.
To create an application with a CFormView
with the wizard, create a SDI ( or MDI ) application and on the last panel, select CFormView as the base class of your view class. the wizard will open the resource editor for the form, where you'll place the different controls.
To create a dialog based application.
with the wizard, on the second panel, choose dialog based ( instead of single or multiple document ). and follow the instructions.
For what you want, I'd suggest going with the first choice, use a CFormView base application.
Max.
|
|
|
|
|
Hello all,
I have started programming in VC7 and visiting this excellent website: it's really a code source 'gold mine' plenty of very helpful articles and code samples.
Now, I have read the following FAQ:
Can I use code snippets and programs in my own work?
Yes. Some authors may have specific restrictions on using code in commercial apps such as providing credit in documentation or sending them an email first, but all code can be used for free.
I have noticed though that in many, many articles *there are'nt* restrictions mentioned at all or only inside the source code i can find something like some comment line ie: '(C) 2002 by programmer name' etc.
But the compiler strips the comments out, right? So i think in the final EXE there will not be any reference to the author.
So far it seems to me that PJ Naughter's Freeware Library (http://www.codeproject.com/library/pj.asp) has one of the clearest specifications about the above:
-You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) when your product is released in binary form.
-You are allowed to modify the source code in any way you want except you cannot modify the copyright details at the top of each module.
-If you want to distribute source code with your application, then you are only allowed to distribute versions released by the author. This is to maintain a single distribution point for the source code.
But in the other articles (those not telling you anything about this stuff)?
I will appreciate very much any opinion/tips in order to be able to correctly reuse the code samples located in this website. As pointed out, i'd like to know especially the correct way to reuse code sampels/snippets not telling any specific and clear restrictions.
for example vould I simply assume in all these situations that it would be right using by default the PJ Naughter's rules?
thanks in advance!
|
|
|
|
|
I'd say put a note in the .readme and the app's about box
Such as "Contains CBlibbleGumbo by Frogstar Scout Industries"
But it's still good manners to email the authors first
--
Help me! I'm turning into a grapefruit!
|
|
|
|