|
Futterama wrote: GetDlgItem(IDC_STATIC_TEST)->ModifyStyle(0, SS_NOTIFY);
This step is unnecessary here, as you have already mentioned SS_NOTIFY style while creating control.
Futterama wrote: pWnd->Create(_T("STATIC"), "SomeText", WS_CHILD | WS_VISIBLE | SS_NOTIFY, CRect(x_pos1, y_pos1, x_pos2, y_pos2), AfxGetMainWnd(), FirstID + i);
Set this dilaog as parent of the static text. Modify your code to,
pWnd= new CWnd;
pWnd->Create(_T("STATIC"), "SomeText", WS_CHILD | WS_VISIBLE | SS_NOTIFY, CRect(x_pos1, y_pos1, x_pos2, y_pos2), m_hWnd, FirstID + i);
If one of FirstID + i is equal to IDC_STATIC_TEST , handler OnStnClickedStaticTest will be called.
|
|
|
|
|
prasad_som wrote: Futterama wrote:
GetDlgItem(IDC_STATIC_TEST)->ModifyStyle(0, SS_NOTIFY);
This step is unnecessary here, as you have already mentioned SS_NOTIFY style while creating control.
This line is when I create the control with the Ressource view and toolbox in VS, not when creating the controls programatically.
prasad_som wrote: If one of FirstID + i is equal to IDC_STATIC_TEST , handler OnStnClickedStaticTest will be called.
True, but will I then need one ON_STN_CLICKED(ID, OnStnClickedStaticTest) for each control I create? That's a lot of work and the easy part of creating the static controls programatically is kind of gone.
I was thinking more of a general handler for all the controls, that is called whenever the app receives the notification and can check to see which control the user clicked.
Is that possible, if yes, how?
|
|
|
|
|
Futterama wrote: True, but will I then need one ON_STN_CLICKED(ID, OnStnClickedStaticTest) for each control I create? That's a lot of work and the easy part of creating the static controls programatically is kind of gone.
Use ON_CONTROL_RANGE .
Your code would be modified like this,
BEGIN_MESSAGE_MAP(CSomeprojectDlg, CDialog)
...
ON_CONTROL_RANGE(STN_CLICKED,ID_STATIC_FIRST,IDC_STATIC_LAST,OnStnClickedStaticTest)
...
END_MESSAGE_MAP()
void CSomeprojectDlg::OnStnClickedStaticTest(UINT nIdOfControl)
{
MessageBox("Hello");
}
|
|
|
|
|
prasad_som wrote: Use ON_CONTROL_RANGE.
Your code would be modified like this,
BEGIN_MESSAGE_MAP(CSomeprojectDlg, CDialog)
...
ON_CONTROL_RANGE(STN_CLICKED,ID_STATIC_FIRST,IDC_STATIC_LAST,OnStnClickedStaticTest)
...
END_MESSAGE_MAP()
void CSomeprojectDlg::OnStnClickedStaticTest(UINT nIdOfControl)
{
//check ids if needed
MessageBox("Hello");
}
Exactly what I needed, thanks!
|
|
|
|
|
Hi,
I have an MFC doc/view application and I wish to exit gracefully if the view does not initialise correctly. At the moment I return -1 from OnCreate() as per the documentation but this gives the "Failed to create an empty document" message which is hardly helpful to the user.
If I post a WM_CLOSE message I still get the same problem because it doesnt get processed until the view has completed its initialisation.
Any suggestions?
Tony
|
|
|
|
|
Use PostQuitMessage(0); in case view initializatin is failed.
i.e
int CMyView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
if (bFailed)
{
PostQuitMessage(0);
}
return 0;
}
|
|
|
|
|
Great thanks - that does the trick.
Tony
|
|
|
|
|
Hi all:
I've implemented the MSI package rendering through progress bar using MsiSetExternalUI. But it seems the installation process was divided into several rounds, this way the progress will reset several times, I was wondering is it possible to render it as a single coherent progress?
From 0 - 100%
Thanks
|
|
|
|
|
hi,
The error message that I got in my project is "fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory". But this stdafx.h file is included in the project.What can cause to occur of this error.
thanks
|
|
|
|
|
Try Rebuilding All the project.
Please refer this[^]
Regards,
Paresh.
|
|
|
|
|
Still I cannot solve the problem.Is there any other solutıon.
|
|
|
|
|
Check if directory containing stdafx.h is mentioned in tools-->options-->Additional include directories , if its not present in same direcotry as project file.
|
|
|
|
|
I have this code that does a linear search within two files, but it is too slow......
<br />
<br />
for(unsigned i=0;i<Standard.size();i++) <br />
{<br />
for(unsigned j=0;j<MyWords.size();j++) <br />
{<br />
string::size_type FoundAt=MyWords[i].find(Standard[j]);<br />
while( string::npos != FoundAt )<br />
{<br />
MyWords[i].replace( FoundAt, Standard[j].length(),Standard[j]+"/");<br />
FoundAt = MyWords[i].find( Standard[j], FoundAt + Standard[j].length() );<br />
}<br />
}<br />
}<br />
<br />
for(unsigned j=0;j<MyWords.size();j++) <br />
{<br />
WriteWord<<MyWords[j]<<endl;
}<br />
WriteWord.flush();
WriteWord.close(); */
return 0;<br />
}<br />
I want to change it into [I]binarysearch so it will perform faster, but the problem is I don't know how can I do that, I mean, if I change it to binarysearch the structure itself will have to be changed. I have the following questions that I can't solve so the binarysearch can be done:
1. Cut the sentences into words.
2. Compare first word of the sentences and see if matches, if match take second and so on till a phrase in my standard file is formed. Otherwise, discard word.
e.g. Lets say I have a sentences "This world is full of beauty!" and I have in my sorted array the phrase "full of beauty", I would like to take each word of the sentence to and compare it with my array like the following:
1. Take the word "This", since it doesn't match delete it
2. Take the word "world", since it doesn't match delete it.
3. and so on until "full", since "full" is part of my phrase "full of beauty" conserve it and take the next and compare it, and so on till I get the full phrase "full of beauty" then return that the phrase was found.
Hope someone can give me some hint, I really need to get this thing to work, and want to get it work myself but I really can't do. Thanks in advance to all.
Regards
Jing
|
|
|
|
|
Did you look at your posted code after you posted it. You need to read the CodeProject instructions for posting code.
stealwings wrote: I want to change it into [I]binarysearch
stealwings wrote: 2. Compare first word of the sentences and see if matches, if match take second and so on till a phrase in my standard file is formed. Otherwise, discard word.
Binary search is for "sorted" data. Sentences are generally not sorted.
led mike
|
|
|
|
|
Yes I know that BinarySearch is for sorted arrays,my array is sorted but is in a file. I have I sort array of phrases which I named as standard, it contains 400 phrases sorted in alphabetical order. Then I have another file that contains lets say 1000 sentences, I want to cut this sentences into words, then do the comparison.
e.g. in the sentences I there is the word "excellent" , I want to take that word, and look if there is any phrase in my array that begins with that word, if true take the next word, if false discard the word and take next one.
Lets say I have in my array "excellent job" and "excellent work" so I will have to check the next word to make sure which is the match. And if the word that follows "excellent" is not neither discard, if is any of both return true.
Now, I know that I should chop the sentences into words, compare and concatenate the words that match to form my phrase and then return a value. Then, how shall I chop the sentences into words and then concatenate them again to form a phrase?
|
|
|
|
|
stealwings wrote: Then, how shall I chop the sentences into words and then concatenate them again to form a phrase?
Yeah I don't know, your subject says "LinearSearch to BinarySearch". The question you just asked does not seem to have any connection to your subject.
led mike
|
|
|
|
|
Hi all,
I have a series of images.the images can be jpeg, bmp or any other. i have to create MPEG-1 file from this series of image. please tell me any algoritham or any other way to do this in VC++ and MFC.
Regards
Yudhisthira Attry
|
|
|
|
|
Decoding JPEG and encoding MPEG-1 is a long topic.
There's plenty of ways built-in to Windows to decode JPEG but for encoding MPEG there's none
because of licensing.
Maybe search Google for open-source/free MPEG-1 encoders - or maybe you can write your own
Mark
"Great job, team. Head back to base for debriefing and cocktails."
(Spottswoode "Team America")
|
|
|
|
|
Hi all,
How can i send a Message from One Class to Another Class using
::SendMessage(...) Api.
I want to Send a Message.
(i.e)
In one.cpp file i want to Send a Message that message must Call Function in the Second.cpp file.
how can i pass a String Value to the Second File(second.cpp) from First File(one.cpp).
Please help me out.
Uday kiran
|
|
|
|
|
uday kiran janaswamy wrote: How can i send a Message from One Class to Another Class using
Send message is not used to send messages between classes but to send a message to a specific window. If your class is not managing a window, then you cannot send a message to it.
|
|
|
|
|
hi Cedric,
Please let me know how to send a message from One Window to Another Window.
Uday kiran
|
|
|
|
|
I think this[^] is what you are looking for.
|
|
|
|
|
uday kiran janaswamy wrote:
Please let me know how to send a message from One Window to Another Window.
IMHO please use WM_COPYDATA to String and othe complex data between two window .. example[^]
|
|
|
|
|
uday kiran janaswamy wrote: Please let me know how to send a message from One Window to Another Window.
Use SendMessage() or PostMessage() .
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Dear David,
Thank you very much.
Uday kiran
|
|
|
|