|
What do you mean by 'skip a column'?
|
|
|
|
|
I want to hide a column in a listview control.
|
|
|
|
|
Hi!
I have a problem. I'm joining a multicast group and recieves IP-streams in mpeg-2 format.I will save the streams to a buffer and compare the sequence number and see if there are some packets lost. If there is a packet loss I will save the buffer to a file.
I'm not sure, but I think I have to convert(?) mpeg-2 streams so I can watch the packets?
How do I compare sequence number? and if I have to convert, how?
Thanksful for your help,
|
|
|
|
|
Hi all,
Currently i am doing project for desinging graphics application with the help of GDI objects using MFC. In this application i use two tools like Unfilled rectangle and filled rectangle with different line stlyes. While selecting the unfilled rectangle, the rectangle will be drawn with current brush object. But i need to draw the rectangle with transparent brush. How can i do it. I can acheive it through the Draw3dRect function, but it doesn't support the differnt line stlyes. So please help me to solve this problem.
Prakash
|
|
|
|
|
You may be able to use the GetStockObject(HOLLOW_BRUSH) and select that into the DC to give internal transparent drawing.
Roger Allen - Sonork 100.10016
If your dead and reading this, then you have no life!
|
|
|
|
|
Hi,
My urgent requirement is to implement Stacked Dialog using ATL/VC++6.0 windowing classes. The implementation is similar to MFC's whcih is provided in the Codeguru site. Can any body tell me how to implement it? Sample code would be greatly helpful.
Thanks,
Sai.
Help Ever, Hurt Never
|
|
|
|
|
Are you using _beginthreadex to start the threads? Both functions store the last pseudorandom number in a per-thread data structure for all the CRT. If this structure hasn't been allocated, the first call the rand()/srand() allocates it. However, if you didn't use _beginthreadex, this pointer never gets freed.
So, if you ever use the CRT in a thread, use _beginthreadex. (If you ever use MFC in a thread, use AfxBeginThread().)
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Is there any way to change id's in string table?
Thanks in advance.
Shin
|
|
|
|
|
Both VC 6.0 and 7.1 allow you to change the mnemonic (the IDS_... value) within the string table editor, and VC 7.1 also allows you to change the number that it is mapped to within the editor. I think for VC 6.0 you need to change the number within the resource.h file if you want to change the mapper resource number.
Dave
http://www.cloudsofheaven.org
|
|
|
|
|
Thanks.
I guess I have to change it one by one.
Regards,
shin
|
|
|
|
|
|
Does anyone have any ideas / sample code on how to upload a file using wininet from a C++ client application to a java servlet for processing.
|
|
|
|
|
You need to do a HTTP POST of your data to the servlet. This MSDN page[^] on wininet should provide pointers on how to begin with posting.
|
|
|
|
|
That is exactly what I want to do. What I don't understand is how to make the file part of the request object. I think I need to create a handle to the local file, read it into a buffer, then use the InternetWriteFile function to write the buffer to the Http request object. Is that right? Do you know of any code samples that would make this process clearer?
|
|
|
|
|
Hi,
I have a problem which I don't fully understand... I have main View class which creates a non-modal Property sheet containing 2 property pages (this works as a tabbed property window). All this works fine.
However, I need to call some public member functions in the parent View class from within the Property Pages (eg when the user adjusts a setting in the tabbed property palette, the changes are reflected in the main view). The minute I add the include for the View class header in the Property Page class, I can't compile; I guess it creates some sort of infinite loop (the definition of the parent class tries to process the definition of the child window class which in turn includes a definition of the parent).
How do I get around this?
Any help would be greatly appreciated.
Simon
|
|
|
|
|
Try forward declaring the parent class in the child's header file. Something like this:
// CChildDlg.h
class CParentView;
class CChildDlg
{
...
CParentView* m_pView;
};
and then #include the parent's header in CChildDlg.cpp where you can actually use the pointer.
Please note, some professor teaching OO design will tell you that this is a sign of a design with a high amount of coupling and thus bad. But I'm not a professor teaching OO design, so I'm not going to tell you that.
|
|
|
|
|
Thanks very much for the advice.
I totally take on board the bad OO vibes...to be honest this had occurred to me. However, how is this problem usually overcome? It must be fundamental to most applications? Few don't have little tool palettes appearing all over the show. Am I missing some well-known design technique to avoid coupling?
|
|
|
|
|
Put the #include in the .cpp file, and then put
class MyViewClass;
in the header file for the property page.
And read the FAQ, I'm sure it mentions this stuff.
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
Humm..
Here's a common solution I use to solve these types of problems: take each .cpp file you have and see what includes they make. Include, afterall, does nothing else than slap the entire file specified to the position where the command is. This is the easy way to think it.
Following this logic, if you want to avoid including a header file, you can always use the extern keyword. This word, when placed in front of a type, specifies that this type is declared in some other object module. The linker is then responsible to finding this declaration, and if you have the view class header included in any other .cpp file taking part in the linking process, the declaration of the class will be found.
Hence, just put a 'extern class CMyDerivedView' and include a 'CMyDerivedView* pParent' to the property page class. Make sure that the .cpp file of CMyDerivedView is partaking the build when using this solution.
Note that when you have a pointer to your class, you can always access the parent CView class of your view class by using the GetParent method (assuming the property pages are children of the view). This way, you can access the CView master class. Doing a 'DYNAMIC_DOWNCAST' from this pointer to your derived view class is then possible.
This means that in the most extreme case, all that is required is to put a 'extern class CMyDerivedView' in the property page .cpp file, and then using this method to access the parent view. However, this variable will remain global and may cause further problems down the road.
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
Thanks for the going to the trouble of writing that explanation Antti. The GetParent method was something I hadn't considered at all.
Thanks for time.
Simon
|
|
|
|
|
Dear All,
I compiled a project under Unix, I have got the following errors:
------------------------------------------
CC -I. -DUNIX -c XPCFileStat.C -g -o XPCFileStat.o
"XPCFileStat.C", line 11: Warning: String literal converted to char* in formal argument sMsg in call to XPCException::XPCException(char*).
"XPCFileStat.C", line 20: Warning: String literal converted to char* in formal argument sMsg in call to XPCException::XPCException(char*).
"XPCFileStat.C", line 28: Warning: String literal converted to char* in formal argument sMsg in call to XPCException::XPCException(char*).
"XPCFileStat.C", line 36: Warning: String literal converted to char* in formal argument sMsg in call to XPCException::XPCException(char*).
"XPCFileStat.C", line 48: Warning: String literal converted to char* in formal argument sMsg in call to XPCException::XPCException(char*).
"XPCFileStat.C", line 59: Warning: String literal converted to char* in formal argument sMsg in call to XPCException::XPCException(char*).
"XPCFileStat.C", line 70: Warning: String literal converted to char* in formal argument sMsg in call to XPCException::XPCException(char*).
"XPCFileStat.C", line 77: Error: The "&" operator can only be applied to a variable or other l-value.
"XPCFileStat.C", line 221: Warning: String literal converted to char* in formal argument sMsg in call to XPCException::XPCException(char*).
"XPCFileStat.C", line 228: Error: The "&" operator can only be applied to a variable or other l-value.
2 Error(s) and 8 Warning(s) detected.
*** Error code 2
make: Fatal error: Command failed for target `XPCFileStat.o'
------------------------------------------------------
Here is the main part of the program:
#include <xpcfilestat.h>
#include <iostream.h>
XPCFileStat::XPCFileStat()
{
long lMaxpath;
// Determine the maximum size of a pathname
if ((lMaxpath = pathconf("/", _PC_PATH_MAX)) == -1)
{
XPCException newExcept("Could not determine maximum pathname length"); // warning line 11
throw newExcept;
return;
}
// Allocate memory for the pathname
cFileName = new char[lMaxpath + 1];
if (!cFileName)
{
XPCException newExcept("Could not allocate memory for cFileName"); // warning line 20
throw newExcept;
return;
}
// Store the current working directory
if (getcwd(cFileName, lMaxpath) == NULL)
{
XPCException newExcept("Could not get current working directory"); // warning line 28
throw newExcept;
return;
}
// Retrieve the file's statistics
if (lstat(cFileName, &sStatBuf) == -1)
{
XPCException newExcept("Could not obtain statics on directory."); // warning line 36
throw newExcept;
return;
}
}
XPCFileStat::XPCFileStat(char *_psFileName)
{
// Allocate memory to store the pathname
cFileName = new char[strlen(_psFileName)+1];
if (!cFileName)
{
XPCException newExcept("Could not allocate memory for cFileName"); // warming line 48
throw newExcept;
return;
}
// Copy the pathname to the private data member
strcpy(cFileName, _psFileName);
// Retrieve the file's statistics
if (lstat(cFileName, &sStatBuf) == -1)
{
XPCException newExcept("Could not obtain statics on directory."); // warning line 59
throw newExcept;
return;
}
}
XPCFileStat::XPCFileStat(const XPCFileStat &_oldClass)
{
cFileName = new char[sizeof(_oldClass.cFileName)+1];
if (!cFileName)
{
XPCException newExcept("Could not allocate memory for cFileName");// warning line 70
throw newExcept;
return;
}
strcpy(cFileName, _oldClass.sGetFileName());
memcpy((void *)&sStatBuf, (void *)&_oldClass.getStatBuf(), sizeof(struct stat)); //here is first error
}
enum eDirectoryTypes XPCFileStat::iGetFileType()
{
// Extract the file type bits from st_mode and match them up with
// the file type constants
switch(sStatBuf.st_mode & S_IFMT)
{
..............................
}
}
enum ePermissions XPCFileStat::iGetOwnerPermissions()
{
// Extract the owner permission bits and return the appropriate
// permission value
switch(sStatBuf.st_mode & S_IRWXU)
{
.......................................................
}
}
enum ePermissions XPCFileStat::iGetGroupPermissions()
{
// Extract the group permission bits and return the appropriate
// permission value
switch(sStatBuf.st_mode & S_IRWXG)
{
..................................................
}
}
enum ePermissions XPCFileStat::iGetOtherPermissions()
{
// Extract the "other users" permission bits and return the appropriate
// permission value
switch(sStatBuf.st_mode & S_IRWXO)
{
......................................
}
}
XPCFileStat &XPCFileStat::operator=(const XPCFileStat &_oldClass)
{
if (this == &_oldClass)
return *this;
if (sizeof(cFileName) < sizeof(_oldClass.sGetFileName()))
{
delete [] cFileName;
cFileName = new char[sizeof(cFileName)];
if (!cFileName)
{
XPCException newExcept("Could not allocate memory for cFileName"); // warning line 221
throw newExcept;
return *this;
}
}
memcpy((void *)cFileName, (void *)_oldClass.sGetFileName(), sizeof(_oldClass.sGetFileName()));
memcpy((void *)&sStatBuf, (void *)&_oldClass.getStatBuf(), sizeof(struct stat)); // here is the 2 error
}
=======================================================================
I would be glag if someone would help me to solve at least those two errors. Your help will be appreciated!
Thank you in advance for your reply.
Regards,
Azzedine
|
|
|
|
|
Regarding the warnings, what is the prototype for XPCException 's constructor?
For both the errors, omit the address-of operator (&) from the second parameter to memcpy() .
One other item that looks problematic:
if (sizeof(cFileName) < sizeof(_oldClass.sGetFileName()))
{
delete [] cFileName;
... Since it appears that cFileName is a pointer, sizeof() will always return 4, as opposed to the actual amount allocated to that pointer. In the second use of sizeof() , I question the use of a function call as a parameter.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
I have 20 items in my List View and I update them rapidly (change text of subitem)
interval = 100millisecond (report type only)
They are very flicker
Is there a way to fix it ?
VC6,XP
thank a lot ~!
|
|
|
|
|
Have you looked at CWnd::SetRedraw() ?
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
you can derive and write you own CView::OnUpdate() function... since CListView is derived from the CView Class.
this will allow you to redraw only part of the View. The default OnUpdate() is to redraw the entire client area.
This is exactly what you need to do to reduce flickering.
|
|
|
|