|
Have you looked into the Canon SDK? I've never used it but I hear it exists.
I've only used TWAIN for Canon picture access.
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
I have three DLLs that display dialog boxes. The classes that display the dialog boxes for two of them are derived from CDialog and the third one is an ATL dialog. For sake of argument, we'll call the two CDialog classes CDialog1 and CDialog2 and the ATL dialog ATL3. The CDialog1 dialog has over 60 objects on it, a mix of combo boxes, edit boxes, radio buttons, and command buttons. CDialog2 has a much smaller number of objects on it but they are all standard controls. The same is true for ATL3. I've got the tab order set in all three dialogs so that pressing the tab key should allow the user to traverse the dialog in top-to-bottom, left-to-right order. However, when I run the application that loads these three DLLs the tab order for CDialog1 appears to be exactly opposite to what the tab order was defined. When the CDialog2 and ATL3 dialogs are displayed the tab key does nothing on either one of them. All three have one of the command buttons set as the default button.
My questions are:
1) Why does CDialog1's tab order at run-time appear to be exactly backward from it's defined tab order?
2) Why does setting the tab order for CDialog2 and ATL3 not appear to be working?
3) Does setting a default button on the dialog have an affect on the tab order?
|
|
|
|
|
Do the dialogs have the WS_EX_CONTROLPARENT style?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
No. None of the dialogs are configured with this extended style.
-- modified at 15:52 Tuesday 10th April, 2007
|
|
|
|
|
Actually I found out what was causing my problems with the CDialog classes. The app we are using is trapping the keystrokes. Some other of our DLLs were using a hook into the app to get the keystrokes passed down to our DLL code. Once I added this hook code into the CDialog2 DLL (see original posting) the tab keys worked. The reason I didn't stumble on this earlier is that we have so many DLLs as part of the project we are working on and the people that originally designed the other DLLs are no longer with the project (typical).
I now just have to find out how to do this in the ATL3 DLL code. I've got another template that works in our code so I'll just take a look at that.
Thanks for your help.
|
|
|
|
|
I'm developing a storm simulation project by using OpenGL. However, I have not found the way to simulate the wave of the ocean.
Please give me some tips, thanks!!!
|
|
|
|
|
Are you looking for SimulateOceanStormEx() ?
[j-o-k-e]
Nobody can give you wiser advice than yourself. - Cicero
ப்ரம்மா
|
|
|
|
|
In the Storm Simulation SDK (SS SDK).
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
Mark Salsbery wrote: Storm Simulation SDK (SS SDK).
also, in the StormSimulation:: namespace
|
|
|
|
|
toxcct wrote: in the StormSimulation:: namespace
Duh
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
I'm sorry but I cant find where is the "Storm Simulation SDK (SS SDK)"
|
|
|
|
|
I believe we're pulling your leg here.
This is a complex subject. You should be asking PhDs that work on this stuff (maybe there's some
here).
Sine waves are a start but water surface tension, wind, etc. make storm waves alot more complex.
Mark
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
It has been a while since I have done this, so I can only give you a brief overview of the concept. You basically need to create a vertex shader to modify the verticies of a triangle mesh. The most obvious method to modify the verticies, is to scale their Y position based on a sin wave generated from an origin point.
Below is a code snippet used to calculate the scale:
fTime = ((fFrameTimeElapsed + fPhase) * FREQUENCY)
fScale = sin(fTime * (2*PI)) * APMLITUDE + BASE;
The phase was calculated based on the vector dot product of the position of the current vertex and the polygon normal along the vertical plane.
The actual wave can be modified by changing the amplitude and frequency, but you're not exactly going to get crashing waves with an undertoe simulation.
If you think this is along the lines that could get you started, I can send you my old source code for this written in C using OpenGL, however I didn't comment it very well, so you may be even more confused once you get it.
Dustin
|
|
|
|
|
I shudder to think of the questions you will get if you do that.
I believe there is a screen saver sample here in the OpenGL section that does something like this.
|
|
|
|
|
Provided 'AS IS' with no explicit warranties or customer support.
|
|
|
|
|
i am opening a web page through shellexecuteex. how to know that the web page is being closed by the user. is there anyway to get this event. pls help me
Arise Awake Stop Not Till ur Goal is Reached.
|
|
|
|
|
Wait on the process handle you got in the SHELLEXECUTEINFO structure with e.g. ::WaitForSingleObject(...) .
Make sure you set the fMask member to include SEE_MASK_NOCLOSEPROCESS , otherwise the process handle will always be NULL .
N.B. If IE is already running, the web page will probably be displayed by the running instance of IE and in this case the process handle will be NULL since no new process was created.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
sorry i cant get you. here is my code
SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = "open";
ShExecInfo.lpFile = "www.google.com";
ShExecInfo.lpParameters = "";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
TerminateProcess( ShExecInfo.hProcess,0);
CloseHandle( ShExecInfo.hProcess);
how to know the user has closed the webpage eventhough its running
-- modified at 11:01 Tuesday 10th April, 2007
|
|
|
|
|
deeps_cute wrote: how to know the user has closed the webpage eventhough its running
If the web page has been closed, how can it also be running?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
im sorry i meant that while running
Arise Awake Stop Not Till ur Goal is Reached.
|
|
|
|
|
deeps_cute wrote: how to know the user has closed the webpage eventhough its running
It's not very clear what you mean, but here's how I interpret your problem:
You want to show a certain web page to the user and get informed when the user has closed the web page.
If you open the web page through the DDE mechanism as you currently are, an already running instance of the browser will show the web page unless configured to explicitly create another instance in its DDE command in the registry which is wuite uncommon.
When this happens you have no way of knowing when the user closes the browser instance since no process handle will be returned.
Even if the browser is not running when you call ::ShellExecuteEx(...) , you have no idea if the user leaves the initial web page.
To my knowledge the only way to do this is running the browser as a COM server and listen for an event fired when the user browse to another page.
I think you have to think this through once again, or at least tell us what limitations you can accept. Consider using ::CreateProcess(...) to create a new browser instance every time, but you still wouldn't know if the user browses to another page.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
yes you r right
"You want to show a certain web page to the user and get informed when the user has closed the web page."
how to do this. i dont know DDE mechanism
Arise Awake Stop Not Till ur Goal is Reached.
|
|
|
|
|
As I mentioned in my previous post the only way I think would do what you want is using the browser as a COM server.
Have a look here for info about how to use the WebBrowser Control[^].
You can also search the web for more info about the WebBrowser Control.
-- modified at 5:04 Wednesday 11th April, 2007
If you're using MFC you can use CHtmlView that wraps the WebBrowser Control making it very easy to use.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
Hi all:
Every time i write a program and after making sure that everything is okay, each time i reopen again later, i get the errors below while linking even though compiling was successfull.
I have tried using destructors for the CWinApp but it does not work. I've also tried rebuilding the whole project but still it does not work.
The setting are set to "Using MFC in a Shared DLL"
Below is the errors
Linking...
msvcrtd.lib(crtexe.obj) : error LNK2001: unresolved external symbol _main
Debug/ss.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
ss.exe - 2 error(s), 0 warning(s)
Please help:
Thanking you for being there.
TreeS
|
|
|
|
|
While its not a direct answer...
Have you tried using the AppWizard to make a new simple app similar to yours? (If yours is MDI, choose MDI) and then compare the project settings?
Its possible you've ticked something you shouldn't have (ie Ignore Default Libraries) etc, and this will let you spot the problem.
The other thought that occurs to me is that you're doing a Unicode project and haven't set the entry point to wWinMainCRTStartup (do a search on that if
needed)
Iain.
|
|
|
|