|
|
Hope I understood your question
You Create a button
m_MyButton.Create("Button",WS_CHILD|WS_VISIBLE,CRect(0,0,100,23),this,IDC_MYBUTTON);
Now you need to events for this button
#Define IDC_MYBUTTON 20000
BEGIN_MESSAGE_MAP(CMyAnswer, CDialog)
ON_BN_CLICKED(IDC_MYBUTTON, OnBnClickedMyButton)
END_MESSAGE_MAP()
...
...
void CMyAnswer::OnBnClickedMyButton()
{
MessageBox("Test");
}
////////And in header file insert
afx_msg void OnBnClickedMyButton();
Is your purpose?
|
|
|
|
|
Thank you Gentle Men for solving my problem. It is now working perfectly.
Thank u very much
Regards
Kenny
|
|
|
|
|
Hi,
Hi guys, i got some requirement, i have to find the unique ip address of my system on the internet.
how can i get that one through coding in MFC. need it urgently, can any one help me in this issue,
Thanks in advance.
Gopinath MV
"Don't sit like a Rock, Work like a Clock
|
|
|
|
|
I can't speak for MFC itself, but the way I've done this before is:
- Create a new UDP socket.
- Call 'connect' with a non-local IP (I've used google.com's IP but any will do)
- Call 'getsockname' on the socket to get the local address.
- Close the socket
Note that no data is ever sent on the network - this approach uses the fact that connect()ing a UDP socket doesn't do anything but bind the socket addresss. A side effect of this is that the local address (as returned by getsockname) is set to the outbound IP address of the machine. Or rather, the IP address that is used to tgalk to the non-local IP you specified.
Unfortunately, if you're behind a NAT (as most people are these days) getting the real external IP is somewhat different. I believe you can use UPNP (if your router supports it) but the only way I'm aware of is to actually connect to and exchange data with an external server who can then tell you which IP address you're coming from. This relies on you having a server running somewhere...which is a bit beyond your original question.
I hope that's at least of some help!
|
|
|
|
|
Thanks Mr Matt Godbolt,
The information that you have provided is some what helpful..
Once again Thanks for ur kind interest
regards
Gopinath MV
|
|
|
|
|
Use gethostname() followed by gethostbyname() .
"Talent without discipline is like an octopus on roller skates. There's plenty of movement, but you never know if it's going to be forward, backwards, or sideways." - H. Jackson Brown, Jr.
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
If your machine is connected through a cable modem (router, ...) you can't.
You have to ping a site like http://checkip.dyndns.org/[^] and parse the result.
...cmk
Save the whales - collect the whole set
|
|
|
|
|
Hi,
Can anyone tell me what exactly the
#if _MSC_VER >= 1100 will do. what does the value signify? what are the other possible values??.
Where can i find any documentation on the above. I could'nt find it in google, MSDN.
Thanks & Regards,
Dhana
|
|
|
|
|
_MSC_VER is the version of Visual c++. 1100 is VC5, I believe. Either way, it's used to write code which can target multiple VC++ versions, where the versions differ.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
Its compiler version.
From MSDN :-
_MSC_VER Defines the compiler version. Defined as 1200 for Microsoft Visual C++ 6.0. Always defined.
|
|
|
|
|
jana_dhana wrote: #if _MSC_VER >= 1100 will do. what does the value signify?
It says that
If Microsoft Compiler Version is Greater than or equal to 1100 compile the statements that is wrapped in side the block, else don't compile. It's a conditional compilation statement.
|
|
|
|
|
I want to list all the files in a certain directory which were created "after" certain date. I've thousands of ever growing files in that directory. If i enumerate these files using FindFirstFile method and then sort these on the basis of date, it take enormous amount of time.
Can anyone tell me better technique to do so. Is it possible with MS-DOS 'dir' command. If yes, then how and also how can i execute that dos command programatically ?
Imtiaz
|
|
|
|
|
Imtiaz Murtaza wrote: Is it possible with MS-DOS 'dir' command. If yes, then how and also how can i execute that dos command programatically ?
Yes...
The following command list all files in time based ascending order...
Dir /OD /A C:
|
|
|
|
|
You can use DlgDirList that fill listbox with files/folders and also you can use attributes of files/folders.if you want to use this function you can see two examples on MSDN.
|
|
|
|
|
Imtiaz Murtaza wrote: If i enumerate these files using FindFirstFile method and then sort these on the basis of date, it take enormous amount of time.
Rather than add them all to some data structure, sort the data structure, and then process the ones at the top (or bottom) of the data structure, just check the date as you are enumerating the files. Something like:
FindFirstFile(...);
while (...)
{
if (file_create_date < cutoff_date)
add_to_list();
FindNextFile(...);
} Now the list will only contain those files that were created after a certain date.
"Talent without discipline is like an octopus on roller skates. There's plenty of movement, but you never know if it's going to be forward, backwards, or sideways." - H. Jackson Brown, Jr.
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Hi how can i change the color of the caption(Title) bar?
|
|
|
|
|
Use of SetSysColors with COLOR_ACTIVECAPTION , would be one solution. But it applies to all windows.
|
|
|
|
|
Do you need to customize caption?
|
|
|
|
|
I jus want to chage the color the caption bar
|
|
|
|
|
|
This application has lot of bugs,
When i removed maximized button the output doesnt
And also when i excuted the application first time color of the caption bar not changing and logo doesnt comes..
I tried it before i post a question .......
|
|
|
|
|
You can do it in the OnNcPaint function by getting Window DC ( GetWindowDC )
Search CP for articles. You will get many.
-Sarath.
"Unhappiness is best defined as the difference between our talents and our expectations" - Edward De Bono
|
|
|
|
|
i have been able to get my program to compile correctly and added in code to view the returned result of the dword value from GetFileAttributes() which should display the file attributes of the given file but when the function is called all it returns is an error message saying "the process cannot access the file because it is being used by another process." yet i made sure that before it was called i had closed the file before the function was called and even tried the function on a file that was never opened and it still gave the same error.
here is the code for my function:
<br />
ReportAttributes(char filename[])<br />
{<br />
LPCTSTR pszCaption = "Debug Results:";<br />
DWORD attribList = GetFileAttributes(filename);<br />
<br />
if(!attribList)<br />
{<br />
MessageBox("An Error Has Occured", pszCaption, MB_ICONWARNING);<br />
}<br />
else<br />
{<br />
const DWORD dwFormatControl = FORMAT_MESSAGE_ALLOCATE_BUFFER |<br />
FORMAT_MESSAGE_IGNORE_INSERTS |<br />
FORMAT_MESSAGE_FROM_SYSTEM;<br />
<br />
LPVOID pTextBuffer = NULL;<br />
DWORD dwCount = FormatMessage(dwFormatControl, <br />
NULL, <br />
attribList, <br />
0, <br />
(LPTSTR) &pTextBuffer, <br />
0, <br />
NULL);<br />
if(0 != dwCount)<br />
{<br />
MessageBox((LPCSTR)pTextBuffer, pszCaption, MB_ICONERROR);<br />
LocalFree(pTextBuffer);<br />
}<br />
else<br />
{<br />
MessageBox("Unknown error", pszCaption, MB_OK);<br />
}<br />
}<br />
}<br />
i varied the icons in the messagebox calls to see which one came up when the error was displayed.
|
|
|
|
|
swatgodjr wrote: "the process cannot access the file because it is being used by another process."
Exactly this is the reason. Make sure that this file is not being used by another application or background process, or create a temporary file and call this function on this file and see what happens. If the problem persists then make sure that you have not opened this file before this call.
|
|
|
|