|
You might want to handle the WM_GETDLGCODE -message in your custom control. Return DLGC_WANTALLKEYS and see if it helps. Note that the tab-key will also be routed to the child, and that you might want to experiment with a combination of returns. MSDN has the list of possible values.
|
|
|
|
|
Thanks, that worked perfectly. I would've thought something like this would come up fairly often, but I asked tons of places and this is the first I got an anwser from.
|
|
|
|
|
Custom controls is a pretty advanced area. You were just lucky asking when an old SDK-developer was at hand
|
|
|
|
|
Take for example the following code
<br />
CItemInfo *lp = new CItemInfo()<br />
lp->SetItemText("String");<br />
CTreeItem *pParent = pList->InsertRootItem(lp);<br />
delete lp;<br />
the following is for inserting data into a TreeList control.
the problem here is that the command delete lp will delete the information stored in the treelist. If I change lp from heap to stack, I get the same result. If I remove delete lp then the information stays.
Is there a way I can prevent this kind of occurance? I would like to clean up my pointers if possible but that seems to corrupt existing data.
Thanks!
|
|
|
|
|
Is this code within a class's member function?
Happy Programming and God Bless!
"Your coding practices might be buggy, but your code is always right."
Internet::WWW::CodeProject::bneacetp
|
|
|
|
|
See if your TreeList can associate an LPARAM with each item, like regular trees and lists do. If so, put the pointer in each item's LPARAM . Then when the items are removed from the control (TVN_DELETEITEM for trees, LVN_DELETEITEM for lists) delete the pointer then.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
I even hear the Windows "OMG I booted up fine" sound.
-- Paul Watson diagnosing hardware problems.
|
|
|
|
|
I guess there is not. The CTreeItem only stores the pointers you give him, not the actual data. So if you delete the data, the pointer the CTreeItem has is useless. Why don't you just delete them once you stop using the CTreeItem?
(I have never worked with MFC etc, but this is a common practice)
|
|
|
|
|
Thanks for the tips, guys. I'll try looking in that direction!
|
|
|
|
|
I am using SetDeviceGammaRamp and it is working fine for my nVidia CRT monitors running Windows 2000.
On the Tablet and Panel PC running Windows XP - Nothing happens.
Anyone got some clues?
|
|
|
|
|
Hi there,
I created a process that opens up a word file and its contents are parsed. Now, when the user tries to open up the exact same file, it doesn't parse. Is it because the file is currently open? How do I check that and would I need to terminate the process before creating a new one? Here is what I have so far.
Thanks!
/*************************************************/
STARTUPINFO stStartUpInfo;
PROCESS_INFORMATION pProcessInfo = new PROCESS_INFORMATION;
memset(&startInfo, 0, sizeof(STARTUPINFO));
startInfo.cb = sizeof(STARTUPINFO);
startInfo.dwFlags = STARTF_USESHOWWINDOW;
startInfo.wShowWindow = SW_SHOWDEFAULT;
CreateProcess(NULL, cmdline, NULL, NULL, FALSE,
NORMAL_PRIORITY_CLASS, NULL,
NULL, &startInfo, procInfo);
ParseFile();
/********************************/
int CParser::ParseFile(CString filename)
{
int ret = 0;
CStdioFile fname;
if (fname.Open(filename, CFile::modeRead))
{
//parsing code here
}
else
{
ret = -1;
fname.Close();
}
return ret;
}
|
|
|
|
|
Hi,
How to send msg to a window where i can't reach..
e.g: Mainframe=>splitter pane=>frame=>splitter pane=>formview
now I want to sen msg from mainfrm to formview..
How can i send this..
THAT'S THE QUESTION.
Thanks
Sumit Kapoor---
|
|
|
|
|
Use the API function GetWindow to walk down the child list of each window below Mainframe. You'll need some way to identify the correct children (assuming that one or more of the levels has > 1 child) but as you assumedly know who you're trying to send a message to that shouldn't be a problem.
Does that help?
Chris
|
|
|
|
|
Hi Dear,
I want to send a Message to sub-sub window class...
I know there is role of Spy++ in this...
please give me any idea..what to find in spy++ & How to send messag to that class..
If possible code snippet for msg send...Please....
Thanks
---Sumit Kapoor---
|
|
|
|
|
Take a look at either the SendMessage() or PostMessage() API calls in MSDN.
Jeremy Falcon
|
|
|
|
|
hi,
my actual class is so deep I cann't use send message from mainframe to that class.
I think need to use spy++..but how to..I don't know..Plesase help me..
Thanks
Sumit Kapoor--- sumit_kapoor1980@hotmail.com
|
|
|
|
|
If you have a handle to the child window, just use SendMessage() . Otherwise, if you are using MFC, does SendMessageToDescendants() help?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
hi,
my actual class is so deep I cann't use send message from mainframe to that class.
I think need to use spy++..but how to..I don't know..Plesase help me..
Thanks
---Sumit Kapoor--- sumit_kapoor1980@hotmail.com
|
|
|
|
|
So what exactly is your question - how to send a message to a child window, or how to use Spy++?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
How can I run HTML application from my MFC project, I found that \ CreatProcess() can run .exe but not HTML.
Michael Geffen
|
|
|
|
|
|
Have you looked into ShellExecute(..., "open", ...) ?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
I have much older program, they using old way about pointer.
// Old code 1
void Func()
{
char *p = "Hello";
*p = 'h'; // It has "Access Violation" probelm in VC++6.0!
}
// Old code 2
void Func()
{
long ptr;
char p[];
ptr = p // has problem with type !!
}
Shoud I change all bad code ???? Do we has nother way to use older codes?
|
|
|
|
|
lewislewis_lewis wrote:
char p[];
There must be a number of some sort holding the brackets apart (e.g., char p[5] ), or p must be initialized to something that has a size (e.g., char p[] = "Hi" ).
lewislewis_lewis wrote:
Shoud I change all bad code ????
Yes, most definitely!
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Can we use some special compiling prameter setting to fix is?
Thank you!!!
|
|
|
|
|
To fix what exactly?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|