|
Hi Ilan,
Well, my suggestion is that you declare two time stamps and use them to keep the latest time of left mouse click and Enter key click. In OnOk functions, you may compare the current time with both time stamps and this may give you some idea about which is the source of the action.
regards,
chris
|
|
|
|
|
Oops, I didn't see other replys just now. Obviously, my suggestion is the worst one. hehe, ignor it.
Regards,
Chris
|
|
|
|
|
I want to make a modal class in the visual c++,but when I want to make it ,the system told me that I can't make this class,how should I solove this problem.thank you!waiting for your answer.
Always do you best,what you plant you will harvest
later!
|
|
|
|
|
Do you mean a modal 'dialog' ?
If so there are two methods for creating a dialog
DialogBox() // creates a modal dialog
CreateDialog() // creates a modeless dialog
Have a look on MSDN for how to use these functions.
|
|
|
|
|
|
Harry,
What are you staring with, a Dialog based application?
Do you want to create another Dialog that you can po
up from the intial one?
Bt the way, it will help you a lot, a lot, a lot,
if you give a subject in you post that is indeed the
subject you are inquiring about.
If you just put "help" then it possible that many people
who could help you will just pass over you post.
Read Chris's points also. They are the first post in this
forum.
|
|
|
|
|
Anyone knows what function to use to get the value of a radio button in a dialog box??
I have done the following but it has no effect on my program:
g_water.RippleIntensity= GetDlgItemInt( hWnd, IDC_RIPPLE_INTENSITY, NULL, true );<br />
<br />
iRenderCheck = GetDlgItemInt( hWnd, IDC_WATER_YES, NULL, true );<br />
<br />
if (iRenderCheck == 1)<br />
{<br />
g_water.m_bWaterCheck = true;<br />
}<br />
else if (iRenderCheck == 0)<br />
{<br />
g_water.m_bWaterCheck = false;<br />
}
Cheers!!
|
|
|
|
|
Not sure i understand what you mean but have you looked at CheckRadioButton[^]
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg
|
|
|
|
|
CButton::GetCheck()
--
Pictures[^] from my Japan trip.
-- modified at 4:24 Sunday 19th March, 2006
|
|
|
|
|
Hi amanoullah,
if(m_Radio1.GetCheck()==1)
MessageBox("Radio1");
if(m_Radio2.GetCheck()==1)
MessageBox("Radio2");
|
|
|
|
|
Hi All,
How to convert a Binary tree to Circular linked list?
Any help would be appreciated.
With Regards,
A.Ilamparithi.
|
|
|
|
|
Ilamparithi wrote: How to convert a Binary tree to Circular linked list?
Why would you want to? homework assignment? or change of design?
Because of that possibility, I won't give you code. Any tree is read very easily. You have a descending key branch and an ascending key branch. A balanced tree has equal descending key branches as ascending key branches, each node is compared high or low to a key search and you follow either branch as appropriate, when you find equal, you stop. A binary tree, like a binary search is a minimal path to solution design, very efficient in search, but very poor design for sequential access. Lists are very poor random search but exceedingly fast in sequential search operations.
To follow a tree in sequential order is easy, you always follow a branch until your reach a bottom leaf and then back track and follow the next.
// psuedo-code this will NOT compile!!
process (node)
{
if (node->left not empty ) process (node->left)
display (node)
if (node->right not empty ) process (node->right)
}
pretty simple, but the stack flow from recursion has severe overhead, especially for large trees. You can change the display node portion to add to a sequential list, and add the necessary passed parameters to do so. But on large trees the overhead of process will be very high. If you notice most of the time is spent calling functions, so the cpu is spending 66% of its time doing nothing but calling code, only 33% processing a node. ouch.
If you have a design that must change from random access priority speed to sequential access priority speed, this is a great one-time tool to rebuild your list. If the list does not need to be ordered, then it doesn't matter what order you process left right and display operations. Circular linked lists are often random order, so I guess it doesn't matter, I highly dislike random order data because of the unpredictability factor. In my business "knowing" that a process will always take n milliseconds is more important than making it fast (though I try to do both in balanced form).
read this: http://en.wikipedia.org/wiki/Tree_search[^]
_________________________
Asu no koto o ieba, tenjo de nezumi ga warau.
Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
|
|
|
|
|
i have a problem in creating my user interface using Open GL and GLUI. most of the example using polygons and some other things. I want to use tree.I just want to know how to create the interface because my project will use L-System as the engine.
|
|
|
|
|
I have a single line rich text control.
I'd like to have the same behaviour that a regular text control has when it recv's focus: all the text is selected.
So when I get a focus event I select all the text. When I do this I notice that the selection disappears when I release the mouse button. Anyone seen anything like this before or know how to fix it?
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
Save an Orange - Use the VCF!
|
|
|
|
|
The control probably does something in the WM_LBUTTONUP handler. How about subclassing the control, and prevent the richedit control from handling it (during these circumstances of course)?
--
Pictures[^] from my Japan trip.
|
|
|
|
|
Thanks that was sort of it.
It seems like something deep in the Richedit library resets the selection to nothing! And a EN_SELCHANGE is fired indicating this. What I can't figure out is why the richedit lib is doing this in first place. Is there some magic incantation I have to perform to get my selection parameters to stick?
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
Save an Orange - Use the VCF!
|
|
|
|
|
Jim Crafton wrote: What I can't figure out is why the richedit lib is doing this in first place. Is there some magic incantation I have to perform to get my selection parameters to stick?
Aren't rich text controls supposed to remove selections if you click on it? I think that's the default behaviour of pretty much every editing component I've ever used in Windows. The reason it doesn't release the selection in WM_LBUTTONDOWN, is because it's possible to drag selected text around.
That's the theory anyway.
--
Pictures[^] from my Japan trip.
|
|
|
|
|
Well the MSDN docs seem to hint that this is not the case. But maybe they aren't quite right either. So I still need to hack around a bit. It does seem like I will have to *force* the rich edit to stay selected.
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
Save an Orange - Use the VCF!
|
|
|
|
|
Hello,
I'd like to retrieve the IP addresses of the host my application is running on. I need to know ALL the IP addresses associated which each network card(Wi-fi, Bluetooth...)
But I don't know which Windows API functions to use.
Can someone help?
Thanks,
Allad
----
Navigator - Your best alternative to Windows Explorer
|
|
|
|
|
use gethostbyname("localhost") and check the HOSTENT struct that's returned. Something like this:
struct in_addr addr;
hostent* host = gethostbyname( "localhost" );
if ( NULL != host ) {
memcpy( &(addr.s_addr), host->h_addr, host->h_length );
printf( "ip: %d.%d.%d.%d", addr.S_un.S_un_b.s_b1,
addr.S_un.S_un_b.s_b2, addr.S_un.S_un_b.s_b3, addr.S_un.S_un_b.s_b4 );
}
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
Save an Orange - Use the VCF!
|
|
|
|
|
Thanks for replying.
But your code retrieves only one IP address. What about IP addresses associated to other network cards?
Sincerely,
Allad
----
Navigator - Your best alternative to Windows Explorer
|
|
|
|
|
Doh! My fault. Then I'm not sure. The function I sent you was the BSD style socket/net API. You need to look at the native Win32 APIs for that - I think what you want to look for is functions to enumeration network connections. Look up WSA, and functions that have Enum in their name.
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
Save an Orange - Use the VCF!
|
|
|
|
|
The best way to grab a list of all the ip addresses attached to your local system is using the IPHelper[^] library. You'll need to include the IPHlpApi.h and winsock2.h header files, then add iphlpapi.lib and ws2_32.lib to your list of import libraries.
MIB_IPADDRTABLE *pIPAddrTable = NULL;
DWORD dwSize = 0;
DWORD dwRetVal = 0;
if (GetIpAddrTable(pIPAddrTable, &dwSize, 0) != ERROR_INSUFFICIENT_BUFFER )
{
printf( "Error getting buffer size." );
}
else
{
pIPAddrTable = ( MIB_IPADDRTABLE * ) malloc ( dwSize );
if ( (dwRetVal = GetIpAddrTable( pIPAddrTable, & dwSize, 0 ) ) != NO_ERROR )
{
printf("GetIpAddrTable failed.\n");
}
for( int i = 0; i < pIPAddrTable->dwNumEntries; i ++ )
{
in_addr add;
in_addr subnet;
ZeroMemory( & add, sizeof( in_addr ) );
ZeroMemory( & subnet, sizeof( in_addr ) );
add.S_un.S_addr = pIPAddrTable->table[ i ].dwAddr;
subnet.S_un.S_addr = pIPAddrTable->table[i].dwMask;
printf("IP Address: %s\n", inet_ntoa( add ) );
printf("IP Mask: %s\n\n", inet_ntoa( subnet ) );
}
free( pIPAddrTable );
}
Gavin Taylor
w: http://www.gavspace.com
|
|
|
|
|
Thank you for your answer.
It is definitely what I was looking for.
Best regards,
Allad
----
Navigator - Your best alternative to Windows Explorer
|
|
|
|
|