|
Cedric Moonen wrote: Did you test it ?
Not only me...
(The technique of the backgound updating is really wide-used today,
for example, when a main thread has other things to do... )
virtual void BeHappy() = 0;
|
|
|
|
|
IMHO he didn't really touch the GUI, i.e. there are no notifications to controls in his code.
Uhm...After second sight, I think there are...(but I suppose you may remove them).
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Thanks for example....
I want to know about this line.
CCtrlDrawContext(CClientDC* pcDC, const CRect& cRect);
Can i pass these two parameter manual?i cann't understand example which is given by you?Please explain more details.
|
|
|
|
|
MsmVc wrote: Can i pass these two parameter manual?
Yes, for example,
as it shown in the function void CYourDialog::OnButtonClick()
virtual void BeHappy() = 0;
|
|
|
|
|
Sorry i am not geting what you want to tell me.
I think this part is header file.
class CCtrlDrawContext
{
CClientDC* m_pcCtrlDC;
CRect m_cCtrlRect;
public:
CCtrlDrawContext(CClientDC* pcDC, const CRect& cRect);
~CCtrlDrawContext();
cons CRect& GetRect() { return cRect; };
CDC* GetDC() { return m_pcCtrlDC; };
};
Now my code is
class CTestDlg : public CDialog
{
public:
CTestDlg(CWnd* pParent = NULL);
How can i pass this parameter
CClientDC* pcDC, const CRect& cRect
Please help me
|
|
|
|
|
For example :
void CYourDialog::OnButton4Click()
{
CRect cStaticRect;
m_cwndStatic.GetClientRect(cStaticRect);
AfxBeginThread((AFX_THREADPROC) ThreadLoop,
new CCtrlDrawContext(new CClientDC(&m_cwndStatic),
cStaticRect));
}
virtual void BeHappy() = 0;
|
|
|
|
|
i add your code but error show here
parnew CCtrlDrawContext(new CClientDC(&m_cwndStatic), cStaticRect));
Error
error C2661: 'CTestDlg::CTestDlg' : no overloaded function takes 2 arguments
|
|
|
|
|
Please see your starting post -
you have to modify your void CTestDlg::OnBnClickedButton4()
(the Context class could be placed in the same *.cpp file,
but above the CTestDlg implementation)
virtual void BeHappy() = 0;
|
|
|
|
|
Now i place code in .cpp file and all code give by you.Still i am getting error.
error C2039: 'GetRect' : is not a member of 'CTestDlg
|
|
|
|
|
Try the following :
0. Repair the state of your project (see your starting post)
1. Place the new context class at the top of your cpp, after the include block
2. Modify your OnClick function
3. Modify your ThreadLoop function
virtual void BeHappy() = 0;
|
|
|
|
|
Sorry it's not working for me.
But i want to say once again Thanks for Discussion.
|
|
|
|
|
Don't use a thread to do this use a timer.
|
|
|
|
|
OnNotify(HWND hDlg, int idCtrl, NMHDR *pnmh)
{
switch(pnmh->code)
{
case LVN_BEGINDRAG:
{
}
}
}
My code is like this
even after the dragging column of ListView i m not able catch the drag event inside case LVN_BEGINDRAG
am i missing something??
thanks in advance
|
|
|
|
|
Hello world,
I don't have any idea how do to make connection to a database using the language C. I preserve if it would be to SQL server.
Thanks
|
|
|
|
|
You may use, for instance ODBC , there are a lot of articles, here at CodeProject , in the database section [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
If you are using mysql then just have a look with the APIs provided by mysql
[^]
Величие не Бога может быть недооценена.
|
|
|
|
|
Take a look at documentation for the CDatabase and CRecordset MFC classes.
I believe this will be the easiest for a beginner.
In particular look at the CDatabase::Open[^] method.
|
|
|
|
|
Hi
How could I write my xml document with indention By MSMXL6
Is there any way to cofigure this
a sample code my clear the case
regards
|
|
|
|
|
The only way i've been able to do this was to apply a XSL transform to the XML before saving it using the transformNodeToObject method of MSXML.
Good luck.
M.
Watched code never compiles.
|
|
|
|
|
Hi,
would any one where I can download or define a cursor such as the one in VIsual Studio uses when stepping thru code ???
also that round bullet used to signify breakpoint is nice dont know if that something I can define and or Load from my resource file
thankx
|
|
|
|
|
The ordinary VS project setup that installs some application on computer does not delete files that were changed during program usage.
If installing that setup again on the same computer those files are not replaced with those from setup either.
How to enable setup to remove all files from and folders in spite the files were changed or added others?
Чесноков
|
|
|
|
|
a.h: static ClassOne *one;
a.cpp: ClassOne::one = this; //So, can I do it like this?
But an error has occured: "expected constructor, destructor, or type conversion before '=' token"
modified on Thursday, April 15, 2010 9:54 PM
|
|
|
|
|
In a.cpp, try:
ClassOne *one = this;
What was I thinking?
modified on Thursday, April 15, 2010 10:44 PM
|
|
|
|
|
If I understand what you are asking, then it should be something like this:
- a.h
class ClassOne {
void SetRef();
};
static ClassOne* one;
- a.cpp
one(0);
inline void ClassOne::SetRef() {one = this;}
Your problems are:
- "this" is only valid inside class member methods.
- You do not need to have "ClassOne::" infront of "one" unless it is a static member of the class (it is declared within the scope of the class).
If "one" is a static member, this a.cpp would be as follows:
ClassOne * ClassOne::one(0);
inline void ClassOne::SetRef() {ClassOne::one = this;}
|
|
|
|
|
It seems you are confusing classes with instances (that is the same as confusing types with variables) local and global scope and linkage.
Assuming the declaration you provided are at file scope (that is, not enclosed in some other braces) one is a pointer to a ClassOne object. It exist at global level (the pointer!) and have only local visibility (local in respect to the cpp file that "sees" it, that are all the cpp files that include the h file - in other words, static has very few sense in h files)
ClassOne::one does not exist, since one is global, and not a part of ClassOne (hence the compiler doesn't know what to do), and than, this is meaningless since you are not inside a member function body.
At this point we cannot correct, since we cannot figure out what you where trying to do.
2 bugs found.
> recompile ...
65534 bugs found.
|
|
|
|