|
When using a timer SetTimer(Bla,1000,0) the count start inside the timer or it waits until it get out of the ontimer function to start the time
/\|-||\/|/\|)
|
|
|
|
|
|
hi
i want to know how to attach bmp file as attachment in email in vc. i m not using the MAPI and using the smtp server to send email.
ddd
|
|
|
|
|
Read the SMTP RFC!
Don't try it, just do it!
|
|
|
|
|
See these examples.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Hello all, I decide to have a list control, where it will print out the error message in red and the information message in green.
I try to take a look on http://www.codeproject.com/listctrl/lvcustomdraw.asp
The item is colered, based on their position. However, I need a way to store, to indicate whether this item represents error or information message.
Hence, I use the following approach:
In my method which inserting the control list item:
LVITEM lvi
lvi.lParam = ERROR_MESSAGE
In my custom draw method:
NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<nmlvcustomdraw*>( pNMHDR );
if ( (pLVCD->nmcd.lItemlParam) == ERROR_MESSAGE)
However, I always get something else in pLVCD->nmcd.lItemlParam
How I can pass the "error message" information to the custom draw message handler? Can anyone please advice on my implementation?
Thank you.
cheok
|
|
|
|
|
When you added the items, did you remember to set LVIF_PARAM in the mask field?
LVITEM lvi
lvi.mask = LVIF_PARAM;
lvi.lParam = ERROR_MESSAGE;
If you don't do that, it will not store your lParam for you.
|
|
|
|
|
I write a class by C++, in this class use string. For exsample:
#include "string"
using namespace std;
int exsample{}
{
string strTest;
......
}
I compile by Visual C++.NET. I get a lot of errors:
(Compile by Visual C++ 6, no Errors)
Compiling...
wmutility.cpp
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(862) : error C2143: syntax error : missing ';' before '<'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(935) : see reference to class template instantiation 'std::istreambuf_iterator<_Elem,_Traits>' being compiled
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(862) : error C2238: unexpected token(s) preceding ';'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(863) : error C2143: syntax error : missing ';' before '<'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(863) : error C2238: unexpected token(s) preceding ';'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(866) : error C2143: syntax error : missing ')' before '*'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(866) : error C2143: syntax error : missing ';' before '*'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(866) : error C2864: '_Sb' : only const static integral data members can be initialized inside a class or struct
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(866) : error C2501: 'std::istreambuf_iterator<_Elem,_Traits>::_Sb' : missing storage-class or type specifiers
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(866) : error C2143: syntax error : missing ';' before 'throw'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(866) : error C2334: unexpected token(s) preceding ':'; skipping apparent function body
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(871) : error C2143: syntax error : missing ')' before '&'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(871) : error C2143: syntax error : missing ';' before '&'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(871) : error C2059: syntax error : ')'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\XUTILITY(871) : error C2143: syntax error : missing ';' before 'throw'
Please help me this problemp.
Thank you very much!
|
|
|
|
|
how to enable CListctrl which is disabled at design time...
ditty grail
|
|
|
|
|
m_listControlVariable.EnableWindow(TRUE);
Jetli
Constant Thing In World Is Change.
|
|
|
|
|
Hi,
The situation:
* Using a Window with the Scroll bar capabilities.
* The mapping mode is MM_HIMETRIC.
* Just drawn a Circle in the View using OnDraw()
* Handled MouseLeft button click to perform the hit test.
I know that:
* Mouse Co-ordinates are device co-ordinate system (in pixel)
* The circle drawn is in the Logical Co ordinate
My Doubt:
The following code does't work . Why? What is wrong with me. I have tested it after converting the point into Logical point.
Code:
void CEX04CView::OnLButtonDown(UINT nFlags, CPoint point) <br />
{<br />
CClientDC dc(this);<br />
OnPrepareDC(&dc);<br />
CRect rectDevice = m_rectEllipse;<br />
dc.DPtoLP(& point);<br />
if (rectDevice.PtInRect(point)) <br />
{<br />
if (m_nColor == GRAY_BRUSH)<br />
m_nColor = WHITE_BRUSH;<br />
else<br />
m_nColor = GRAY_BRUSH;<br />
InvalidateRect(rectDevice);<br />
}<br />
CScrollView::OnLButtonDown(nFlags, point);<br />
}
Thanks in advance for the Valuable help!
|
|
|
|
|
SivaramanDhamodharan wrote:
The following code does't work
"Doesn't work" is a little vague. What or where is failing exactly?
SivaramanDhamodharan wrote:
CRect rectDevice = m_rectEllipse;
Despite its name, rectDevice is in logical coordinates, right? Since you are converting the point to logical coordinates too, the test in rectDevice.PtInRect(point) should work as expected.
However, when calling InvalidateRect , you should pass a rect in device coordinates, so I'd try doing dc.LPtoDP(rectDevice) before the call to InvalidateRect .
On another point, you are calling CScrollView::OnLButtonDown with the modified value of point ... It probably doesn't matter (I don't think the default implementation actually uses this value), but I'd fix that too.
--
jlr
http://jlamas.blogspot.com/[^]
|
|
|
|
|
Do not convert the point coordinates to logical coordinates.
1) If the rectDevice is in device coordinates, then no conversion is needed.
2) If the rectDevice is in logical coordinates then convert it to device coordinates instead.
InvalidateRect() does not take a rectangle in logical coordinates and niether does CScrollView::OnLButtonDown(nFlags, point).
INTP
"The more help VB provides VB programmers, the more miserable your life as a C++ programmer becomes."
Andrew W. Troelsen
|
|
|
|
|
Hi John,
Thanks it works.
"If the rectDevice is in logical coordinates then convert it to device coordinates instead." - This helped me with the Quote "InvalidateRect() does not take a rectangle in logical coordinates"
Thanks a Lot.
The Working Code is :
CClientDC dc(this);<br />
OnPrepareDC(&dc);<br />
CRect rectDevice = m_rectEllipse;<br />
dc.LPtoDP(rectDevice);<br />
if (rectDevice.PtInRect(point)) <br />
{<br />
if (m_nColor == GRAY_BRUSH) <br />
{<br />
m_nColor = WHITE_BRUSH;<br />
}<br />
else <br />
{<br />
m_nColor = GRAY_BRUSH;<br />
}<br />
InvalidateRect(rectDevice);<br />
}
|
|
|
|
|
Hi..I want to insert a item to an existing tree and I want to make the item become the child of one of the tree members
for example:
before:
root
..|_parent1
..|_parent2
..|_parent3
after:
root
..|_parent1
..|_parent2
......|_(I want to insert my new item in here)
..|_parent3
but I didn't know how to do it. Plz help me because I'm a newbie in MFC programming
thx.
|
|
|
|
|
m_treeCtrl.InsertItem. From MSDN:
HTREEITEM InsertItem( LPTVINSERTSTRUCT lpInsertStruct );
HTREEITEM InsertItem(UINT nMask, LPCTSTR lpszItem, int nImage, int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam, HTREEITEM hParent, HTREEITEM hInsertAfter );
Download this project[^], you'll find it usefull.
Marc Soleda.
... she said you are the perfect stranger she said baby let's keep it like this... Tunnel of Love, Dire Straits.
|
|
|
|
|
Call CTreeCtrl::GetItem() on the "parent2" item. Then call CTreeCtrl::InsertItem() to insert the new "child" item below that.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
thx 2 you all for your help. Can a tree control access another atttributes of a data? I am planning to make a tree control from a list of data
for example, I am a list of datas, each of data consists of Name, adrress, phone number, etc and I want to make the tree control based on the name. Does it exist any command to access/ display other attributes by clicking the tree element?
thx..
|
|
|
|
|
After inserting a node in the tree control, use SetItemData() to associate that node with the item in the list.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Can u give me some examples pls?because I'm still new in MFC and lack of experience in programming.
thx
|
|
|
|
|
|
thx...I have read the link u gave me, but I think it is not what I' looking for
for example I have a data base file that consist name,age,address,phone number,etc and I want to make a tree control based on the name for example. And then if I click the tree control attributes, I can access the other database attributes such as the age,address,phone,etc. Is there any function or maybe some links to help me..because I'm so confused.
thx...
|
|
|
|
|
One way would be to read the records from the database into a data structure and populate the tree control from that data structure.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
thx...I also have some problem on populating the tree control. I want to group the tree attributes if there are same occurences. I have tried to make the function, but when I run it, my program become not responding.
here is my function:
HTREEITEM CCDBMainDlg::LoadTree(CStringArray& tree)
{
m_hItem = m_treeCDB.GetNextItem(m_hItem,TVGN_ROOT);
if(m_treeCDB.ItemHasChildren(m_hItem))
{
m_hItem = m_treeCDB.GetChildItem(m_hItem);
while(m_treeCDB.GetItemText(m_hItem).Compare(tree.GetAt(12))!=NULL || m_hItem != NULL)
{
m_hItem = m_treeCDB.GetNextSiblingItem(m_hItem);
}
if(m_treeCDB.ItemHasChildren(m_hItem))
{
m_hItem = m_treeCDB.GetChildItem(m_hItem);
while(m_treeCDB.GetItemText(m_hItem).Compare(tree.GetAt(11))!=NULL || m_hItem != NULL)
{
m_hItem = m_treeCDB.GetNextSiblingItem(m_hItem);
}
if(m_treeCDB.ItemHasChildren(m_hItem))
{
m_hItem = m_treeCDB.GetChildItem(m_hItem);
while(m_treeCDB.GetItemText(m_hItem).Compare(tree.GetAt(0))!=NULL || m_hItem != NULL)
{
m_hItem = m_treeCDB.GetNextSiblingItem(m_hItem);
}
}
else
{
m_hItem = m_treeCDB.InsertItem(tree.GetAt(0),0,1,m_hItem);
}
}
else
{
m_hItem = m_treeCDB.InsertItem(tree.GetAt(11),0,1,m_hItem);
m_hItem = m_treeCDB.InsertItem(tree.GetAt(0),0,1,m_hItem);
}
}
else
{
m_hItem = m_treeCDB.InsertItem(tree.GetAt(12),0,1,m_hItem);
m_hItem = m_treeCDB.InsertItem(tree.GetAt(11),0,1,m_hItem);
m_hItem = m_treeCDB.InsertItem(tree.GetAt(0),0,1,m_hItem);
}
m_hItem = m_treeCDB.InsertItem(tree.GetAt(1),0,1,m_hItem);
m_treeCDB.EnsureVisible(m_hItem);
return m_hItem;
}
pls help.
thx.
|
|
|
|
|
firebolt77 wrote:
...but when I run it, my program become not responding.
One of the while loops is not ending. You'll need to set a breakpoint on each one, run the program using F5, and note which breakpoint was not hit. That'll tell you which loop is faulty.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|