|
Thanks for the tips! I didn't really understand where the choose a lower resolution function is in the resource manager. However, when I removed all the icons from my projekt, rebuilt it, added them again and rebuilt my projekt once more it worked. Very strange indeed...
Thanks again!
Regards,
Tobias
|
|
|
|
|
I am looking for a VU Meter (Realtime volume meter) for use in my C++ project. So far I have been able to find many components that use the windows built in mixer controls to read the peak meter value. This is not sufficient because not all sound card mixers support this. I need something more low level that can obtain the volume level from ANY soundcard
|
|
|
|
|
Hey,
How do I access a bitmap file to read pixels or write pixels? All I need to do is to get pixel color at (x,y) coordinates, then be able to write pixels in a similar way.
Thanks,
Gr3g
|
|
|
|
|
You can select it into a DC and use GetPixel/SetPixel, but unless you're not doing much of this and speed is not an issue, I'd recommend creating a DIBSection ( there are some good wrappers on this site ), which gives you a pointer to the underlying pixel data.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
How do you flush/clear out the message queue in MFC?
|
|
|
|
|
You can loop calling PeekMessage with PM_REMOVE flag till there are no more messages pending.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hi,
I want to use A CFile Object so I can use the following GDI+ object call.
static Bitmap* FromStream(
IStream* stream,
BOOL useEmbeddedColorManagement
);
Am I right in thinking I have to create a derrived object, to do this. Could anyone point me in the right direction.
Thanks Again
Rich
|
|
|
|
|
Say I have an array Stuff[100] how would I make that into a collection class I'm having trouble understanding this. I need to derive it from the CObList in MFC. Thanks for your time guys.
-CDudd
|
|
|
|
|
Why do you need to write your own collection ? What are you making a container of ? I guess pointers to some MFC type ?
There seem to be some examples in MSDN for this, go to msdn.microsoft.com if you don't have MSDN on your PC. Personally, I'd use std::vector, but anyone know knows me remotely knew I'd say that. I'm not familiar with any benefits of CObList, but if it's a container specialised for MFC types, there may well be some, in which case I can't help too much except recommending you check the MSDN.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
If what you mean is how to have a CObList of 100 elements, you would have to insert them one by one using CObList::AddTail . The following restrictrions apply:- What you store are not
CObject s, but pointers to CObject created with new (CObList assumes responsibility for delete ing them later). In particular, you cannot store simple types like int s or struct s not deriving from CObject .
- When you retrieve an object stored in a
CObList (well, a pointer to it), you have to figure out its actual type and downcast (most usually what you store are not CObject s but some other class derive from this type.) If you don't mind me evangelizing just a little about STL, why don't you give std::vector or std::list a try? They are way more robust than MFC containers, platform-independent and a lot of fun Plus, Christian Grauss is writing a series of tutorials on STL to help newbies make a warm start.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Well for a class to use the CObList it has to be derived from CObList. So, if I made a CStuff class how would I derive and, use it to make it like an array?
-CDudd
I don't know how to use STL so that is why I don't use it.
|
|
|
|
|
Maybe I'm misunderstanding you here. What are you trying to do?- Create a list of 100
CStuff objects.
- Define
CStuff to behave as a CObist of fixed size (100).
- Other.
I don't know how to use STL so that is why I don't use it.
Don't mean to be offensive, but seemingly you don't know how to use CobList either and yet you're trying to.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
I need a CStuff class to use all the functions of CObList so I can create a list of 100 CStuff objects.
-CDudd
No offense taken, your right I don't quite understand CObList...yet, but it's just one class others I know how to use. Since I don't know anything at all about STL I don't use it.
|
|
|
|
|
You want CStuff to be an object AND to be the container that holds them ? Why ?
If you derive a class for CObList then it will BE a CObjList, which means you can add other functionality, AND use an instance of the class to be a container to hold other instances of it. It sounds like a hell of a bad idea to me though, unless I am missing something.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
Sorry I meant to create 100 Stuffs not CStuffs.
-CDudd
|
|
|
|
|
If I'm getting your point now, what you need to do is having CStuff derive from CObject :
class CStuff: public CObject
{
...
}; Now say your list of CStuff s is called (in a fit of originality) stuffList . So, to enter a new object (up to 100, if that's your wish) you just write:
stuffList.AddTail(new CStuff()); Hope this is what you were after. Please tell us if it is not.
As for the STL stuff, do not be frightened by its rather awesome aspect. In fact, having a std::list of CStuff s is no harder than with CObList (and you won't have to derive from CObject ):
std::list<CStuff> stuffList;
...
stuffList.push_back(CStuff());
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
I've been trying for about an hour or so and I'm royally stuck.
Basically I've got a class CShapePt. The program is like a mini paint utility. Whenever the user clicks on the client area it takes the point clicked. Then the next time he/she clicks it draws a line between the two places. The Array it was using was in the MainFrame Header file. I'm not exactally sure how to put the CShapePt object into the MainFrame header file so that the device context can access it. How do you do those code highlighter things? If you need some code to help you see what I'm having trouble explaining I'll be glad to put some snippets on here. Thanks.
-CDudd
|
|
|
|
|
Ditto on the STL stuff.
I might have some strong reservations about many of the STL features, but the containers are GOLDEN...
droooool...
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
I am handling the WM_GETMINMAXINFO message in my MFC app in the PreTranslateMessage function. When I resize my dialog this message is never sent. Do I have to go about this a different way with MFC or something?
|
|
|
|
|
In MFC, providing you're using a CWnd derived class, you should just be able to define a member function like:
afx_msg void OnGetMinMaxInfo(MINMAXINFO *pMMI);
and add:
ON_WM_GETMINMAXINFO()
to your message map. Probably easier than the PreTranslateMessage stuff. I'm not sure why you're not getting the message, though.
------------------------
Derek Waters
derek@lj-oz.com
|
|
|
|
|
That worked.. Kinda weird that it didn't work in PreTranslateMessage. Thanks for your help.
-Zack
|
|
|
|
|
Actually, no, it isn't strange.
PreTranslateMessage is only invoked as part of the normal message pump. Or at least that is what the docs say. I am sure there are a few other instances it is called.
However, my bet is that WM_GETMINMAXINFO is being sent to your window via SendMessage thus the message loop never sees the message. (There are some instances where a SendMessage goes through a message loop, but that is of no concern for 99% of all windows programmers.)
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
I'm trying to do something that I think is very simple in VC++ 6.0 in the new VC++ in the Visual Studio.NET. I'm getting strange results. It looks like creating a dialog is creating some HTML code as well as the recource (.rc) and DoModal() seems to be using both of them.
Here are the steps I'm using.
I am creating a VC++ project selecting an MFC Application.
I'm changing these defaults:
Application type = Single Document
Database Support = Header Files Only
ODBC (instead of OLE DB)
In the last step I'm chaning the CView to a CFormView.
The wizard pops a message about no printing support - but I think that's ok.
Now I add a resource, it's a dialog - leave the defaults for this test. Make a class from this resource - DIALOG1.
On my CFormView I add a button [Do It]... add the #include for my DIALOG1.h and add a message handler for this [Do It] button with this simple code:
DIALOG1 d;
d.DoModal();
It runs... but the buttons seem to have shadows and there is a 'TODO: Place controls here' text on my dialog. Hey! That message is not on my dialog resource! Hey! In the HTML folder there is a IDR_HTML_DILAOG1 html file.... that's got buttons and the message that are not on my resource, but are displayed when my dialog 'runs'.
If you move the buttons on the resource you can see that the 'shadows' are really copies of the [OK] and [CANCEL] buttons that are on my dialog.
What's up with this? Is anyone else seeing this stuff?
Rick Crone
|
|
|
|
|
When the wizard creates a dialog, it includes 3 controls in it:
OK Button
Cancel button
Static containing the text 'TODO: Place controls here'
I don't know why you aren't seeing it with the resource editor. It apparently is there, or you wouldn't see it at run time.
I've never seen it create HTML code when inserting a dialog.
Good Luck,
Bill
|
|
|
|
|
I agree that is how it worked in VC++ 6.0.
You have built a VC++ 7.0 MFC application and added a dialog to it and you don't see the html?
I have the buttons on the resource, but not the TODO message. I have the buttons and the TODO message on the html code.
|
|
|
|