|
I guess you are refering to the afx_msg prefix.
Well, this keyword suggests the effect of the C++ virtual keyword by distinguishing the handlers from other member functions belonging to a CWnd class. Anyway, the afx_msg keyword resolves to white space after preprocessing.
SkyWalker
|
|
|
|
|
This is definitely a good trivia.
I think a good definition to that would be Application Frameworks (taken from frameworx or fx) -- this is different definition as opposed to DDX (dialog data exchange) or RFX (record field exchange). See afxver_.h file and read comments.
|
|
|
|
|
once upon a time, before MFC, there was an API called Application Framework X...
http://bbs.ee.ntu.edu.tw/boards/Programming/12/5.html[^]
In the beginning, Microsoft created a group called the AFX group
(stands for (A)pplication (F)ramework(X)). This group probably was
created to come out with an OWL competitor, since Borland C++ was
doing pretty well. They came up with a class library that presented a
very high abstraction from the Windows API, kind of like OWL does.
Legend has it that they then went and tried writing applications with
it for a couple of months and found that it was just too far removed
from the Windows API. They couldn't leverage any knowledge of
Windows and most of these guys were die hard Windows API hackers.
Legend also has it that at this point they scrapped the ENTIRE AFX
class library, and then worked on what would become MFC 1.0...
You can still see remnants of the AFX days, many of the source files
have afx prefixes and lots of macros in MFC today still have AFX in
them. I don't know when Microsoft changed the name of the group from
AFX to MFC, but it's now an MFC group. I've also heard rumors that
MFC was once called the MS Fulcrum Classes.
Cleek | Image Toolkits | Thumbnail maker
-- modified at 11:21 Saturday 22nd October, 2005
|
|
|
|
|
|
|
I got it, thank you all so much!
-------------------
I am trying to love c++
|
|
|
|
|
Hey!
The steps I have taken setting up GDI+ through VC++ so far.
1] Get the MS SDK.
2] Go to Tools->Options->Directories and add the "include" and "lib" directories of the MS SDK folder.
3] Go to Project->Settings->Link and add "gdiplus.lib" to the "Object/library modules" linked list field.
4] Use "#include gdiplus.h" in stdafx.h.
Total newb question:
I get compile errors after step 4]. I have not yet used any GDI-based objects in my code. The errors stem from just having the "#include gdiplus.h" in stdafx.h.
Some of the compile errors:
--------------------Configuration: FirstMenu - Win32 Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
c:\program files\microsoft platform sdk\include\gdiplusimaging.h(67) : error C2501: 'MIDL_INTERFACE' : missing storage-class or type specifiers
c:\program files\microsoft platform sdk\include\gdiplusimaging.h(67) : error C2440: 'initializing' : cannot convert from 'char [37]' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
c:\program files\microsoft platform sdk\include\gdiplusimaging.h(67) : error C2146: syntax error : missing ';' before identifier 'IImageBytes'
c:\program files\microsoft platform sdk\include\gdiplusimaging.h(67) : error C2501: 'IImageBytes' : missing storage-class or type specifiers
c:\program files\microsoft platform sdk\include\gdiplusimaging.h(67) : error C2239: unexpected token ':' following declaration of 'IImageBytes'
c:\program files\microsoft platform sdk\include\gdiplusimaging.h(67) : error C2059: syntax error : 'public'
c:\program files\microsoft platform sdk\include\gdiplusimaging.h(246) : error C2146: syntax error : missing ';' before identifier 'id'
c:\program files\microsoft platform sdk\include\gdiplusimaging.h(246) : error C2501: 'PROPID' : missing storage-class or type specifiers
c:\program files\microsoft platform sdk\include\gdiplusimaging.h(246) : error C2501: 'id' : missing storage-class or type specifiers
c:\program files\microsoft platform sdk\include\gdiplusheaders.h(384) : error C2629: unexpected 'class Gdiplus::Image ('
c:\program files\microsoft platform sdk\include\gdiplusheaders.h(384) : error C2238: unexpected token(s) preceding ';'
c:\program files\microsoft platform sdk\include\gdiplusheaders.h(395) : error C2061: syntax error : identifier 'IStream'
c:\program files\microsoft platform sdk\include\gdiplusheaders.h(405) : error C2061: syntax error : identifier 'IStream'
c:\program files\microsoft platform sdk\include\gdiplusheaders.h(443) : error C2061: syntax error : identifier 'PROPID'
...
The compiler stops at 100 errors. I figure I'm not including a needed library, but I'm lost. If anyone has any recommendations I'd be very grateful.
Thanks for your time.
j_penbert
|
|
|
|
|
Hi ,
How to debug the applications which uses the setEventHook for mouse for all the applications. All the mouse events that are generated while using the debugger itself will be noise.
I am a novice in the windows programming so please tolerate.
Regards,
Sunil Virmani
|
|
|
|
|
hi
how can i assign a data to a control created by ::PropertySheet function from a template?
i want then read the data by GetWindowLong(...,GWL_USERDATA);
if there is a way other than this please tell me
thx
|
|
|
|
|
HI!
I am working on an application, very simple one. it is an mfc dialog based application.
As, i have to deal with xml files through my application, so, i had written the statements:
#import "msxml3.dll"
using namespace MSXML2;
in the header file of my application.
The program is neither giving any error message nor any warnings. But, it is giving RunTime Error "The application has requested the runtime to terminate in an unusual way. Please contact the application`s support team for information."
What may be the cause?How to remove this problem.
I had not used abort anywhere in the program.
Thanx
|
|
|
|
|
Hello everybody,
I have problem , I want to edit a record in a database and don't understand how to do it.
Situation is like this :
Suppose I have Client.mdb database and a Table
Name Surname<br />
<br />
David Gates<br />
Nick Allen<br />
Rick Ellison
then I have next code :
...
CString Sql;
db.Open("Clients.mdb");
Sql = "SELECT * FROM Clients";
recset.Open(AFX_DAO_USE_DEFAULT_TYPE,Sql,NULL);
recset.Move(1);
recset.Close();
db.Close();
...
Could anyone provide me a little sample code about how to edit the second record?
thanks
"Success is the ability to go from one failure to another with no loss of enthusiasm." - W.Churchill
-- modified at 7:11 Saturday 22nd October, 2005
|
|
|
|
|
Hi
You can use SQL commands to edit your records
<br />
Sql = "UPDATE Clients SET Name='Bob' WHERE Name='Nick' AND Surname='Allen'";<br />
db.Excute(Sql);
or Create a class with Base CDAORecordSet & the uose code like
...<br />
recset.Move(1);<br />
recset.Edit();<br />
recset.m_Name = "Bob";<br />
recset.Update();<br />
recset.Close();<br />
...
to Create CDaoRecordeser Based Class U most add new MFC class & select CDaoRecordset as Base Class the IDE ask you to select your DB & table (VS 6.0)
in VS .Net 2003 you most add new "MFC ODBC Consumer" Class ....
Regards,
Iman Ghasrfakhri
|
|
|
|
|
thanks here also
"Success is the ability to go from one failure to another with no loss of enthusiasm." - W.Churchill
|
|
|
|
|
Hi
Use "DELETE FROM tableName WHERE fieldname1='value' AND field2='value2' OR ..."
Iman Ghasrfakhri
|
|
|
|
|
hi all,
i want information regarding the tree control and how the indexes are assigned to the tree nodes.
even i could not understand the tree view notifications.
what is itemNew.hItem and what does CTreeNotification class do
-----> I am most concerned about how the indices are assigned to tree.
please post the related links.
thanx
|
|
|
|
|
hi
i think there is an error in my question.....
CTreeNotification class is an user defined
|
|
|
|
|
I know this is not true but i need immediate answer
I have Vs.net beta 2 copy, it s not original, I know, if the dvd is original, product key will automaticaly comes while setup progressing.
I have to install vs.net 2005 today immediately. please someone gives me his /her beta 2 product key . if not i wont complete my homework till monday. I think it s legal to share vs.2005 product key, BECAUSE it s Beta Please HELPPP
|
|
|
|
|
|
|
i want to make one project of Multi-Threading involve.so first i want to design my program. i dont know how to design source code.plz tell me how to design
|
|
|
|
|
There is no special pattern to design the source code of threading stuff.
But it strictly depends on the type of threads you want to implement.
A UI thread is represented by a C++ class derived from CWinThread.
A worker thread is reperesented by a controlling function like this:
UINT MyThreadProc(PVOID pParam);
I usually create two files Thread.h and Thread.cpp and put the worker
threads there; in Thread.h I put declarations and in Thread.cpp definations of controlling functions. Though this standard is not strictly necessary.
You also may use worker threads in a class. In this case the controlling function must be a static member-function of that class.
...
Try to specify your Q.
--
======
Arman
|
|
|
|
|
|
hi,all
how to reposition a CPropertyPage object in CDialog ?
this is my code:
{
// the parent's class of g_pDlgControlPanel os CPropetyPage
g_pDlgControlPanel=new CControlPanelDlg();
g_pDlgControlPanel->Create (IDD_CONTROL_PANEL,this);
g_pDlgControlPanel->SetWindowPos(NULL,0,CONTROL_PANEL_TOP,rcMain.Width(),rcMain.Height(),SWP_NOZORDER);
g_pDlgControlPanel->ShowWindow (SW_SHOWNORMAL);
//after executing this code above ,the new position is incorrect ,
// the property page is placed outside the dialog!
}
|
|
|
|
|
|
Hey all I'm trying to build a small simple application that links to another lib file. I have built the lib project and everything compiles fine and it creates the .lib file. Now when I create a new project link it to the .lib file and try and use the classes etc from it. The program compiles fine but I get linking errors
Error 1 error LNK2019: unresolved external symbol "public: virtual __thiscall Wac::Forms::Window::~Window(void)" (??1Window@Forms@Wac@@UAE@XZ) referenced in function __unwindfunclet$??0MainWindow@@QAE@XZ$0 MainWindow.obj
this goes on for each method I use form the .lib.
Now i'm trying to get back into this, so sorry if its soomething easy that i missed. I had the working in 2003, now i have 2005 beta 2 and i'm trying to get it set up. So i'm not sure what the difference it in the build settings.
Hope someone can help.
thanks
|
|
|
|