|
1. How knowing full path to a file and current directories to receive relative path to a file?
2. And on the contrary, knowing a relative path and current directories to determine a full path to a file?
|
|
|
|
|
Look at this 2 functions
char *_fullpath( char *absPath, const char *relPath, size_t maxLength );
void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext );
|
|
|
|
|
Hi,
How can I get Start menu and pop it up anywhere on screen like user have clicked on Start button ?
thans a lot,
|
|
|
|
|
hi,
I am using a property page to get Tabs in my project in one of the tab. I Need to have a splitter window
can any one help me in doing this.
|
|
|
|
|
hi,
I am using a property page to get Tabs in my project in one of the tab. I Need to have a splitter window
can any one help me in doing this.
|
|
|
|
|
Hi,all
I got an error when I run one window about 80 times.The error is like the following:
Second Chance Assertion Failed: File afxwin1.inl, Line 283
source code in "afxwin1.inl" is the following,
282: _AFXWIN_INLINE int CGdiObject::GetObject(int nCount, LPVOID lpObject) const
283: { ASSERT(m_hObject != NULL); return ::GetObject(m_hObject, nCount, lpObject); }
m_hObject is a NULL pointer when I load a bitmap(bitmap.LoadBitmap(..)). these code runed for about 80 times recycled, then I get a NULL pointer m_hObject. but I don't know why m_hObject is not a NULL pointer when these code run for the first 80 times.
I think it is a memory leak error,but after every CBitmap object was used, DeleteObject() was followed. Could anyone give me some advice about how could result in this error, and how can I fix it.
Thanks.
|
|
|
|
|
This '80 times recycled' points to a GDI resource leak. Probably you have your bitmap selected into some device context when you 'recycle'. In such case, old bitmap isn't deleted.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
I called the API ::playenhmetafile to play a metafile under win98. If I play three hundred files once time, it will cause bad gdi leak and gdi resource fall down to zero. But it works well under win2000. why?
thanks to all the programmers who have helped me.
|
|
|
|
|
Because Windows 2000 detects memory leaks and cleans up after you. Ar you *sure* you aren't leaking memory ? I'd suggest posting your code, I'd be happy to provide a sanity check.
Are you calling ::DeleteEnhMetaFile(); ?
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
Is it possible to create a memory device context with specific resolution and pixel depth (LOGPIXELSX, LOGPIXELSY, BITSPIXEL, et), rather than simply copying the values for an existing device?
I need to play windows meta files into a DC in order to generate bitmaps which will be saved as various raster file formats. The x and y resolution as well as the pixel depth of these files are not related to the resolution of the display or to any attached printer.
I am currently doing this by specifying ANISOTROPIC mapping mode, and setting the Window and Viewport Extents as required.
This works for some of the metafiles, but unfortunately, many of them explicitly set the mapping mode or extents internally. I have used EnumMetaFile to trap these commands, but it would be much easier (and faster) if I could simply create a device context with the correct parameters and just play the metafile.
Any help or tips would be greatly appreciated.
Thanks,
Bill
|
|
|
|
|
I'm writing a word processor and need to draw lines across my RichEditView to represent page breaks.
Unlike a basic CView, CRichEditView doesn't seem to use OnDraw to update the display, so overriding this seems to have no effect, and using OnPaint stops the text being displayed altogether.
Is there a way around this or should I just give up???
|
|
|
|
|
Hi fellow programmers!
Ok, here is the situation:
I am writting program consisted of 1 exe and about 5 dlls.
I have a structure(struct Options) which has all the programs variable in it. in My main file I defined
Options O;
then in other .cpp files I defined it
extern Options O;
this structure holds all variable, and works great in my exe program. However I want to export this instance (Options O) to my dll files so my dll files can use the variables inside this certain instance of the structure.
How can I do that? because in my DLL files when I import the extern Options O. It creates a new instance of Options and it doesn't use the variables which are already being used in the exe file;
I am totall puzzled!
some one please help me!!! I really appreciate it! please ask me if you need more information to answer my question!
Best regards to you all!
Damon
|
|
|
|
|
Basically, you should encapsulate the options:
1) In some DLL, create a function that returns the address or reference
Options& GetOptions()
{
static Options options;
return options;
}
2) export that function from the DLL
3) whenever you need the access to options, use GetOptions.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Look at this page by Ryan Schneider.
A Simple Wrapper for Sharing Data Structures Between Processes
http://www.codeproject.com/useritems/csharedstruct.asp
Another approach could be an initialization function in every dll
// in your exe .cpp
Options O;
MyDllInit( O );
// in your dll .cpp
Options O_Dll;
void MyDllInit( Options &O )
{
memcpy( &O_Dll, &O, sizeof(Options);
}
|
|
|
|
|
Hello!
I have a great problem.
I have done a view showing a bitmap.
The view always fits the size of the
bitmap. In the case, that the view
is smaller than the bitmap, scrollbars
are shown to scroll over the bitmap.
Now I want to implement the maximize
functionality that way, that pushing
the maximize button expands the view
to fit the bitmap only, but not to the
size of the mainframe window. How can
I implement this functionality. I already
catched the corresponding messages in
OnSysCommand and I can resize the view
to fit the bitmap, but I can not change
the maximize button to the restore button.
Is anyone out there who can help?
Many thanks in advance.
Peter
from Vienna
pmrainer
|
|
|
|
|
There are a number of ways to do this. You can turn OFF the maximise button in the view window, you could capture WM_SIZE and when the window gets a message to size bigger than the bitmap you could make it size to just the bitmap, or you could just allow the maximising and centre the bitmap.
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
Handle WM_GETMINMAXINFO. Use AdjustWindowRect[Ex] in the handler to compute frame size based on bitmap size.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Is it possible to access eg. CTreeDoc from CTreeView and CArtView?
I use:
CTreeDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
in the CArtView::OnDraw(), but it won't let me access the member functions of CTreeDoc. What do I need to add?
Marco
|
|
|
|
|
|
Hey does anyone know how to put a DWORD into a BYTE Buffer
without converting it or using the string functions. ie what would be the code behind the string functions that does it.
Cheers
Peter
|
|
|
|
|
Why do you want to copy a DWORD into a BYTE buffer?
Anyway, how about something like this...
(I have just written it in the browser, so there might be syntax errors...)
DWORD dw = 65535;
byte b = (byte*)malloc(sizeof(DWORD));
memcpy(b, dw, sizeof(DWORD));
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
There is also
*((DWORD *) b) = dw;
But that has some minor drawbacks on many CPUs. If b is not aligned on a DWORD, you get an alignment fault. Luckally, that isn't a problem on intel processors.
Tim Smith
Descartes Systems Sciences, Inc.
|
|
|
|
|
I hope that you have seen the web browser called "NEO-PLANET". Its user interface is really interactive. I want to create such user interfaces using VC++. Please help me in this regard.
Imran Farooqui
|
|
|
|
|
|
there are one const memeber constM and one const function constFunction
#classA head file
class classA
{
const int constM ;
const int constFunction ();
}
class classA::constM;
#end of classA head file
#classA cpp file
int constFunction (){return 0;};
#end of classA cpp file
#fileB head file
#include "classA.h"
void main()
{
};
class fileB::cons
compile error:
two obj file LNK2001
Help!!Help!!Help!!
Please pardon my weak English!
|
|
|
|