|
1) Create device-independent bitmap (DIB) filling all required parameters - see CreateDIBSection
2) Fill DIB bits from your data - see SetBitmapBits
3) Create memory DC and select DIB in it - see CreateCompatibleDC, SelectObject
3) BitBlt or StretchBlt from memory DC to window DC
|
|
|
|
|
Thanks.I have to go through them now.
Mazy
"If I go crazy then will you still
Call me Superman
If I’m alive and well, will you be
There holding my hand
I’ll keep you by my side with
My superhuman might
Kryptonite"Kryptonite-3 Doors Down
|
|
|
|
|
I have a CEditView and no matter what I try and can't get it so that there is a horizontal scroll bar. I've tried adding the ES_AUTOHSCROLL and the WS_HSCROLL but that doesn't seem to be doing it. Any help? Thanks.
[EDIT]: I just noticed that when I have the WS_HSCROLL and ES_AUTOHSCROLL styles on, when the window is resized the horizontal scroll bar appears but you can't horizontally scroll beacuse it is "wordwraped."
|
|
|
|
|
code snippet:
AfxSocketInit();
CSocket socket;
socket.Create();
if(!socket.Connect(url,80))
{
int err=socket.GetLastError();
cout << err << endl;
}
Url is someting like: "http://www.somewhere.com/somepage.html".
The CSocket::Connect() always failes. It's strange but the errorcode returned by getlasterror is zero (0), so I can't retrieve any information about the error.
Init and create succeed though.
Somebody got a clue? What am I doing wrong here?
[VISUAL STUDIO 6.0] [MFC] [WIN98/2]
Bluute tette!
|
|
|
|
|
Connect() doesn't take an URL as parameter, it wants either a hostname (e.g. "www.somewhere.com") or a numeric IP address.
|
|
|
|
|
What was I thinking, uh ;P;P
btw. It's been a while now since my last programming in java, but it's not gone yet
[VISUAL STUDIO 6.0] [MFC] [WIN98/2]
Bluute tette!
|
|
|
|
|
Hi,
This is probably a simple question for you experienced folk, but being a beginner to Visual Studio (though a C programmer of old), is foxing me.
I have some C (not C++) code that I have inherited and have to develop further that was intended to be compiled into a dll using Visual C++ 6.0.
I have so far only been able to get hold of a licenced copy of Visual Studio .NET (standard) and have tried to build the existing code. It compiles but will not load, even though I think I have specified this as an unmanaged Win32 dll. Using a copy of Visual C++ 6.0, I can build and run successfully, but need to be able to do this with .NET C++
Any hints on what I need to do?
The files consist of:
Three .h source files
Three .h header files
One .def file used for declaring exported functions
Appreciate any help I can get.
|
|
|
|
|
I shall try to assume that the cause is far from DLL problem. Perhaps, it is a new for-scope interpretation of VC7??? Very frequent situation while you update VC6 to VC7. VC6 works with for-scope out of standard, but VC7 has corrected this mistake and at the same time it does not support correctly "old VC6" code
Try to switch
option "C++\Language\Force conformance in For Loop Scope" on and to observe what will happened
Beg pardon in advance if my suggestion is very stupid
|
|
|
|
|
Thanks for the suggestion. Tried it, but no change. The dll still refuses to load. I have noticed that the dll generated through C++ 6.0 is 237Kb in size whilst the version generated through .NET is 184Kb in size. I might have expected that given exactly the same source code, that the output dlls would be roughly if not exactly equivalent in size.
Does .NET C++ support the .def style of declaring exported functions, or is another method now required?
|
|
|
|
|
Doubtless, .NET C++ supports .def style of declaring exported functions. You don't need to search another way...
What about depends.exe (it is comprised in VC6 and i suppose in VC7 too)? Does it see any exported function in your DLL?
|
|
|
|
|
Thanks for the tip.
Couldn't find any equivalent to depends in VC++ .NET so just out of curiosity I tried using the 6.0 version on both dlls (6.0 and .NET versions).
depends shows the three exported functions in the 6.0 version of the dll, but not in the .NET version.
In all other respects, the depends display appeared to be the same (apart from the linker version used to build the dll (6.0 vs 7.0)
This display would seem to suggest that the .NET version is not really exporting any functions and therefore does not deal with .def files in the same way as VC++ 6.0
|
|
|
|
|
Since my last reply regarding the use of depends, I went back into VC++ .NET and looked up the use of .def files
It appears that to just add the .def file to the project is not enough, one must also go to project properties and specify the .def file in the
"Linker->Input->Module Definition File" property
I did this, and now the dll generated by VC++ .NET works
Many thanks for your very useful help
|
|
|
|
|
>>Many thanks for your very useful help
You're welcome
|
|
|
|
|
I have a subclass of CListCtrl called CEditListCtrl, a piece of undocumented legacy code. This somehow causes the function CListCtrl::EnsureVisible not to function (i.e. nothing happens when it is called).
Could someone give me some leads as to what is causing this?
I also committed the crime of posting a programming question in the Lounge.
|
|
|
|
|
I'm trying to use afxDump to dump the contents of my object in the debug window like this:
#ifdef _DEBUG
afxDump.SetDepth(5);
afxDump << &m_mapStrings << "\n";
#endif Where m_mapStrings is defined as:
typedef CMap<int, int, CString*, CString*&> CMapIntToCString;
CMapIntToCString m_mapStrings;
But the debug window is displaying:
a CObject at $6595C2C
with 3 elements
[] =
[] =
[] = So I can't actually see what's in the object, but I know something is, because I can get the data out! Does anyone know what I'm doing wrong, or how I can get to see the contents of this object? Yeah, I can use my classes methods to iterate through the map and dump the objects, but I'd like to know what I'm doing wrong with the afxDump...
Dylan Kenneally
London, UK
|
|
|
|
|
Hello,
Not sure if this question belongs here...
I have a web server (a service) that acts as a proxy to translate web pages from English to Swedish.
In order for this to work, I need to set the appropriate values of proxy server and port and activate "Use a proxy server" in IE->Internet Options->Connections->LAN Settings->Advanced.
Now, activating and deactivating frequently will become a pain in the ass jumping to the options dialog all the time, so I figured I could create an IE toolbar button that would do this programmatically.
This turned out to be more complicated than I thought... I can change the options programmatically (at IE runtime) but the changes don't seem to be reflected appropriately. I was trying to simulate the [de]activation behaviour of IE when doing it manually, but something seems to be missing.
Manually my proxy kicks in just fine, but not programmtically... all options are set and visually it all looks fine.
Has somebody dealt with this or does anyone know how to do this?
ANy pointers to material on this would be appreciated,
TIA,
/Tommy
|
|
|
|
|
Tommy Svensson wrote:
Has somebody dealt with this or does anyone know how to do this?
what exactly are you changing??? Are you just setting the value in teh registry or are you going about it a different way?
"When a friend hurts us, we should write it down in the sand, where the winds of forgiveness get in charge of erasing it away, and when something great happens, we should engrave it in the stone of the memory of the heart, where no wind can erase it" Nish on life [methinks]
"It's The Soapbox; topics are optional" Shog 9
|
|
|
|
|
Brian Delahunty wrote:
what exactly are you changing??? Are you just setting the value in teh registry or are you going about it a different way?
I'm changing the values (ProxyServer and ProxyEnable) in the registry (HKCU/Soft/MS/Windows/CurrentWindows/Internet Settings). To be sure things are really changed I'm also calling InternetQueryOption and InternetSetOption with values set from the registry.
The reg settings are notified to IE through
SendNotifyMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0x1F,
reinterpret_cast<LPARAM>(_T("Software\\Microsoft\\Internet Explorer")));
But this doesn't seem to be sufficient. Maybe I need to tell IE (or someone else) about these changes in a different way?
Ohhhh, I really REALLY need this to function!
Thx,
/Tommy
|
|
|
|
|
The work around would be to make the change and then launch a new browser instance with your current URL and close the existing instance.
You might try something like COMspy to see what the IE container is doing when you hit apply. Somehow it must be causing IE to re-init without closing down. BTW its the container that's doing the action and not the IE control which is being hosted.
Todd Smith
|
|
|
|
|
Here's the answer... FINALLY!!!
http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/wininet/tutorials/options.asp
And now it all works! Thx to all who have helped out!
/Tommy
|
|
|
|
|
I would like to initialize my static const variables as part of the declaration in the header (I am using VS7) - this seems to work fine for ints, but not for LPCTSTRs. For example:
class CFoo
{
static const int m_nStatic = 1; // This works
static const LPCTSTR m_pszStatic = _T("Hello, world!"); // This fails
static const char* m_pszStatic2 = "Test"; // This fails
};
In the above sample, I get the following errors when attempting to initialise the strings:
error C2864: 'm_psz...' : only const static integral data members can be initialized inside a class or struct
Obviously I can initialize the static strings outside of the class, i.e.:
LPCTSTR::CFoo m_pszStatic = _T("Hello, world!");
But I have always found this method cumbersome. I am a big fan of Scott Meyers Effective C++ book(s) and he cites example code that will initialise strings in the class declaration so could this be an MS compiler-ism? Perhaps there is a pragma?
Phew, for a minute there I lost myself.
|
|
|
|
|
Robert Edward Caldecott wrote:
could this be an MS compiler-ism?
Don't think so. Here's what Holy Book of C++ Standard says in 9.2, paragraph 4:
"A member-declarator can contain a constant-initializer only if it declares a static member (9.4) of integral or enumeration type"
Tomasz Sowinski -- http://www.shooltz.com
Never argue with an idiot, he'll bring you to his level and beat you with experience.
|
|
|
|
|
OK. I have found I can initialize strings in the header and use the new MS __declspec(selectany) attribute to avoid errors if the header is included elsewhere in the project:
class CFoo<br />
{<br />
static LPCTSTR s_psz;<br />
...<br />
};<br />
<br />
__declspec(selectany) LPCTSTR CFoo::s_psz = _T("Yeeha");
This will have to do.
Faith. Believing in something you *know* isn't true.
|
|
|
|
|
I have developed a chat application and now I want to integrate voice chat in my application...but I have no idea how to start...can anybody help me in doing this?
Thanks in advance
Deepesh
|
|
|
|
|
Example : http://www.codeproject.com/internet/voicechat.asp
Donno if its good enough but u can try it.
U can achieve the same with directX
|
|
|
|