|
It was the obvious and basic programming design. It's as easy as defining a structure of the data including the HRGN and storing the structs in STL or CArray or what ever you choose. Then traversing that list checking to see if a point is in a region. I always make it complicated to later realize it's not as hard as it seems. Make sense??
|
|
|
|
|
Jay Beckert wrote:
I always make it complicated to later realize it's not as hard as it seems.
Heh, i know the feeling!
--------
The real problem is that you don't have to be religious to be a religious fanatic,
you just have to be a fanatic. -- Stan Shannon, the lounge
|
|
|
|
|
Hi,
I have succesfully compiled my project in debug mode which extensively uses HtmlHelp calls.
Of course I included "HtmlHelp.h" in StdAfx.h and linked against "htmlhelp.lib" in both debug and release mode.
Now I switched to release mode and was quite surprised:
All HtmlHelp() calls were recognized as unknown.
Thanks for your help.
R.
|
|
|
|
|
|
Yes, absolutely.
In debug mode it compiled and run (!) OK.
I switched on release mode and all these calls
HtmlHelp(m_hWnd, "c:\\x\\uploads\\help\\eehelp.chm::/main.htm",HH_DISPLAY_TOPIC, NULL );
were not compiled:
C:\x\Source...cpp(334) : error C2065: 'HtmlHelp' : undeclared identifier
C:\x\Source...cpp(334) : error C2065: 'HH_DISPLAY_TOPIC' : undeclared identifier
again: in Debug mode it not only compiles it even runs well...
R.
|
|
|
|
|
Looks like you may have added the the HtmlHelp include and library paths for the "Debug" configuration only.
/ravi
Let's put "civil" back into "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Hi,
I've noticed a lot of questions dealing with the registry. However, none of them seem to relate to my particular problem.
I need to specify exactly where my program's data goes. My problem is that when you call SetRegKey(), it automatically makes a folder for your program within the folder that you specified using SetRegKey() and I don't want that. I wish to put my data in another program's folder.
Thanks in advance,
~ Selevercin
If you have a problem with my spelling, just remember that's not my fault. I [as well as everyone
else who learned to spell after 1976] blame it on
Robert A. Kolpek for U.S. Patent 4,136,395.
|
|
|
|
|
|
I hate to be slow, but could you give an example of the RegCreateKeyEx (I've not looked at the others). One of the "out" parameters confuses me.
Thanks,
~ Selevercin
If you have a problem with my spelling, just remember that's not my fault. I [as well as everyone
else who learned to spell after 1976] blame it on
Robert A. Kolpek for U.S. Patent 4,136,395.
|
|
|
|
|
Selevercin wrote:
I hate to be slow, but could you give an example of the RegCreateKeyEx (I've not looked at the others). One of the "out" parameters confuses me.
HKEY hKey;
DWORD dwDisposition;
RegCreateKeyEx(HKEY_CURRENT_USER,"A Dummy Key",
0,"",REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,
NULL,&hKey,&dwDisposition);
RegCloseKey(hKey);
Nish
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
|
|
|
|
|
Never use KEY_ALL_ACCESS! If you do, the call will fail on NT if the user is not admin. If you need full read/write privs, use KEY_READ|KEY_WRITE instead.
Happy b'day BTW
--Mike--
Just released - RightClick-Encrypt - Adds fast & easy file encryption to Explorer
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
Michael Dunn wrote:
Never use KEY_ALL_ACCESS! If you do, the call will fail on NT if the user is not admin. If you need full read/write privs, use KEY_READ|KEY_WRITE instead.
Oh! Thanks
Michael Dunn wrote:
Happy b'day BTW
Thanks again.
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
|
|
|
|
|
Ok, it's all looking good and better. I used Michel Dunn's idea. So this is my code:
HKEY hKey;
DWORD dwDisposition;
RegCreateKeyEx(HKEY_CURRENT_USER,"Software",0,"",REG_OPTION_NON_VOLATILE,KEY_READ|KEY_WRITE , NULL,&hKey,&dwDisposition);
AfxGetApp()->WriteProfileString("Cloaked Chat", "Test", "Test");
RegCloseKey(hKey);
</code>
It all compiles error free, but do I need to set some values for the "hKey" and "dwDispostion"? When I ran the above code, nothing happened. Shouldn't it have made a folder called test with the string "test" inside the folder "Cloaked Chat" of the software folder?
Thanks,
~ Selevercin
If you have a problem with my spelling, just remember that's not my fault. I [as well as everyone
else who learned to spell after 1976] blame it on
Robert A. Kolpek for U.S. Patent 4,136,395.
|
|
|
|
|
Hi.
I have a class derived from CDialog for a dialog box. I implement a worker thread. I would like to post and/or send messaged directly to the dialog box class instead of going to main frame first. Is that possible?
Thanks,
Kuphryn
|
|
|
|
|
|
Okay.
I called PostMessage() with m_hWnd. However, the compile responded with an error that m_hWnd is unknown. What do I pass to PostMessage() such that the dialog class will handle the message?
Kuphryn
|
|
|
|
|
You don't need to pass an HWND if you are using CWnd::PostMessage.
You need a pointer to your CDialog derived class, say m_pDlg.
Now simply do this :-
m_pDlg->PostMessage(message,wparam,lparam);
Nish
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
|
|
|
|
|
|
Thanks in advance for any help. I am trying to create an ATL server using the example "Building an Office2K COM addin with VC++/ATL". I am having a problem with the imports. Here is my stdafx.h:
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
#if !defined(AFX_STDAFX_H__613C434D_55D9_45D2_937E_C26FA13D3F22__INCLUDED_)
#define AFX_STDAFX_H__613C434D_55D9_45D2_937E_C26FA13D3F22__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define STRICT
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif
#define _ATL_APARTMENT_THREADED
#include <atlbase.h>
//You may derive a class from CComModule and use it if you want to override
//something, but do not change the name of _Module
extern CComModule _Module;
#include <atlcom.h>
//{{AFX_INSERT_LOCATION}}
#import "C:\Program Files\Common Files\Microsoft Shared\Office10\mso.dll" rename_namespace("Office") named_guids
using namespace Office;
#import "C:\Program Files\Microsoft Office\Office10\MSWORD.olb" rename("ExitWindows", "WordExitWindows"), named_guids, raw_interfaces_only
using namespace Word;
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__613C434D_55D9_45D2_937E_C26FA13D3F22__INCLUDED)
Unfortunately, I keep getting the error message:
StdAfx.obj : fatal error LNK1179: invalid or corrupt file: duplicate comdat "_IID_CanvasShapes"
Any ideas what I need to do to fix this problem? I am new to ATL but I was thinking the "using namespace Word" should have taken care of any duplicates. I used the article as an example because I am not using Outlook, instead I am using MS Word. Any thoughts?
|
|
|
|
|
Hi,
I have recently been working on my first big C++ application, and it has quite a lot of persistent Registry entries.
Anyway, when I want to know an app setting, I am doing AfxGetApp()->GetProfileXXX... to get the setting.
My question is this: is it slower to keep calling that function or to hive off the settings and keep updating that hive if the settings are changed?
Example #1:
A loop 10,000 times with a Registry call each loop is probably slower than reading the value out and then looping 10,000 times.
Example #2:
An event fires (such as WM_CHAR) that reads a setting and uses it once before the end of the handler. Is this slower than having the external hive?
Input, ideas and peep's programming practices in this field greatly appreciated.
Thanks in advance,
Si
|
|
|
|
|
I recommend that you read the config settings at program startup and store them somewhere instead of re-querying the registry every time you need a value.
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
|
|
|
|
|
This is what I thought.
I was just wondering whether AfxGetApp() within MFC did some smart cacheing of values.
I would have thought not, but here's hoping.
|
|
|
|
|
It's not AfxGetApp() that's slow (trace into it and see), but doing thousands of registry calls is. The registry is a database, and access won't be lightning-quick. As Nish said, read your config into variables at startup, then save it on exit.
--Mike--
Just released - RightClick-Encrypt - Adds fast & easy file encryption to Explorer
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
Is it possible to copy a parent image and have its children appear in different locations to the parent?
I'm trying to create a side on scrolling shoot-em up and I want to be able to fire five (5) bullets at one time but I don't want to have to write the code 5 times...
GetBulletStartPoint[1];
SetBulletVisible[1];
If(Bullet = OffScreen) AllowNewBullet[1];
etc etc...
Hope this makes sense I can compile what I'e made so far and post on my site if that will help...
|
|
|
|
|
No - you will need to draw them all yourself, you can't make a single image redraw itself automagically.
You should be writing it five times though, you should use an array ( maybe as a list ) of Bullet objects and a loop.
Christian
I am completely intolerant of stupidity. Stupidity is, of course, anything that doesn't conform to my way of thinking. - Jamie Hale - 29/05/2002
Half the reason people switch away from VB is to find out what actually goes on.. and then like me they find out that they weren't quite as good as they thought - they've been nannied. - Alex, 13 June 2002
|
|
|
|