|
Damn... that reflect message is called whenever the listCtrl wants to draw itself.. this is no use... this should only be called when an actual state change has occured. Here's my code:
<code>
void CSkinListControl::OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
static int lola = 20;
if( pNMLV->iItem > -1 &&
pNMLV->uChanged & LVIF_STATE && pNMLV->uNewState & (LVIS_SELECTED | LVIS_FOCUSED) )
{
lola--;
}
*pResult = 0;
}
-- modified at 17:34 Wednesday 8th November, 2006
|
|
|
|
|
skullfire wrote: Damn... that reflect message is called whenever the listCtrl wants to draw itself
Hmm. How are you calling OnLvnItemchanged()?
Like this?
BOOL CSkinListControlParent::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
NMHDR *pHdr = (NMHDR *)lParam;
if (wParam == IDC_LISTCTRL)
{
if (pHdr->code == LVN_ITEMCHANGED)
{
OnLvnItemchanged(pHdr, pResult);
return TRUE;
}
}
return CWnd::OnNotify(wParam, lParam, pResult);
}
void CSkinListControlParent::OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast(pNMHDR);
static int lola = 20;
if( pNMLV->iItem > -1 &&
pNMLV->uChanged & LVIF_STATE && pNMLV->uNewState & (LVIS_SELECTED | LVIS_FOCUSED) )
{
lola--;
}
*pResult = 0;
}
|
|
|
|
|
CListCtrl does not have it's own message pump. Can you show your message map and handler?
Steve
|
|
|
|
|
Stephen Hewitt wrote: CListCtrl does not have it's own message pump
The underlying common control handles Windows messages though.
|
|
|
|
|
Mark Salsbery wrote: The underlying common control handles Windows messages though.
Yes, but it's your application's message pump which pumps the messages for it. If the control is on a dialog the dialog's message pump will pump the messages.
Steve
|
|
|
|
|
Right The list view control grabs the mouse move messages during a drag though (during its
handling of WM_LBUTTONDOWN). That's the problem the OP is having.
|
|
|
|
|
There's an article here[^] which might be of help.
Steve
|
|
|
|
|
Nope. This doesn't help since it's not actually starting a drag operation on an item, but on a selection rectangle.
|
|
|
|
|
But your issue is handling the mouse move messages not starting the operation isn't it?
Steve
|
|
|
|
|
Hi everyone,
I want to complie a program but I get this error
"fatal error C1083: Cannot open include file: 'atlapp.h': No such file or directory"
then I download WTL7.0 and I set path of wtl on Tools->Options->Projects->VC++ directories in the end of list I insert C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\wtl70\include
but again I get same error.
Can you help me
Thanks
|
|
|
|
|
What is "atlapp.h" and from where does this file come from ? You need to put this file in your project directory or in one of the include directories.
|
|
|
|
|
You didn't say which list you changed in the VC++ Directories page. Make sure you changed the include path.
|
|
|
|
|
Hi Michael
I saw your article about this problem and you have a link for download wtl on your article I didnt changed any thing I insert it line to(on the enviroment VC++ on the menu Tools->Options->Projects->VC++ directories
we have a list of paths I insert this line C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\wtl70\include to it
but I dont know why it doesnt solve
Thanks
|
|
|
|
|
On the VC++ Directories page, you can change one of several lists (include path, lib path, and so on). Make sure you're changing the include path.
|
|
|
|
|
yeah you right I insert to executable I change to include
Thank you Michael
|
|
|
|
|
I have been using Visual Studio .NET 2003 Professional on Win XP (SP2) for development of simple dialog based programs in VC++ using MFC.
For last few days I have some problems with the debugging of my programs. When I debug any program without any break points, it runs well. Same is the case when I run the program without debugging (Ctrl+F5). When I put some break points in it there is no activity for a long time (I have waited even for half an hour! ). Probably the machine hangs. I cannot even kill the process (using Task Manager) because Ctrl+Alt+Del does not work.
I have repaired the installation once which yielded no improvement. Then reinstalled Studio .NET without any success.
Can anybody suggest some solution to this problem please?
Thanks .
Pani68
|
|
|
|
|
This may be a dumb question, but are you using F10 to move on to the next line, or F11 to step into the next line?
Also where are you putting the break point? is it around a loop? if this is the case, you may have to move through the break point many times (until all iterations have completed.
what happens when you hit F5 once the break point is hit?
-- modified at 13:08 Wednesday 8th November, 2006
I win because I have the most fun in life...
|
|
|
|
|
I do not need to use F10 o F11 since I put a break point at some code and start it using F5. Before the cursor come to the break point the machine hangs. I want to know whether any dll file has been corrupt causing the the problem. Otherwise I am quite experienced with debugging.
Pani68
|
|
|
|
|
Whoa, Whoa, Whoa, calm down buddy,
I'm not familiar with your level of experience. If the program runs fine with out the break point, then the DLL files should be fine. Any other information you can give us?
I win because I have the most fun in life...
|
|
|
|
|
I used to have this exact same problem with VC6. Sometimes the breakpoint would hit, sometimes not. But more often than not it would appear the code had an infinite loop, even though it did not. I never did solve the problem and later started using VC8. I have no debugging problems now.
|
|
|
|
|
Stab in the dark...maybe an IntelliSense issue...
Try
1) Close Visual Studio.
2) In your solution folder, rename "solutionname.ncb" to "solutionname_bak.ncb" where solutionname
is the name of the solution containg the project you are debugging.
3) Open the solution
4) Rebuild the project
5) Try to debug the project again
|
|
|
|
|
Hi all,
I need to know if a modeless dialog is opened and,
if this is the case, close it.
How can i do that ?
Thanx in advance,
Desmo16.
|
|
|
|
|
Look up IsWindow() and IsWindowVisible() .
You may be right
I may be crazy
-- Billy Joel --
Within you lies the power for good - Use it!
|
|
|
|
|
How I can use broadcast for communicate several IP address with me. Helm plz
|
|
|
|
|