|
Thanks for all the suggestions guys!
|
|
|
|
|
|
std::vector<MyClass> foo;
int someIndex = 10;
foo.erase(foo.begin() + someIndex);
-- modified at 15:40 Wednesday 21st December, 2005
|
|
|
|
|
|
|
|
Helo!
What should i do to notify an envent to de Frame when y click left mouse on a view
thanks!
|
|
|
|
|
handle WM_LBUTTONDOWN
if using MFC: add an OnLButtonDown handler
|
|
|
|
|
thanks!
but wat i need is to resize the windowframe when i click on the client area
|
|
|
|
|
Look into the CFrameWnd::RecalcLayout function.
No shirt, no shoes, no brains, no service.
|
|
|
|
|
|
For MFC, use CListBox::InsertString() . Otherwise, send the control a LB_INSERTSTRING message.
"Take only what you need and leave the land as you found it." - Native American Proverb
|
|
|
|
|
|
DeleteString() and InsertString()
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
"Obviously ??? You're definitely a superstar!!!" - mYkel - 21 Jun '04
"There's not enough blatant self-congratulatory backslapping in the world today..." - HumblePie - 21 Jun '05
Within you lies the power for good - Use it!
|
|
|
|
|
|
Strings are numbered from zero to count_of_strings minus one, so to replace a string at a certain index, first delete the existing string, then insert the replacement
int SwapString(CListBox &Box, int Index, LPCTSTR NewString)
{
ASSERT (Index < Box.GetCount());
Box.DeleteString(Index);
return Box.InsertString(Index, NewString);
} If you insert the replacement string first, you then have to increase the index value before you delete the old string or else you will just end up deleting the string you just inserted.
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
"Obviously ??? You're definitely a superstar!!!" - mYkel - 21 Jun '04
"There's not enough blatant self-congratulatory backslapping in the world today..." - HumblePie - 21 Jun '05
Within you lies the power for good - Use it!
|
|
|
|
|
be careful that your listbox is not set to "auto sort";
also, when deleting/inserting an item, the indexes will shift.
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
According to MSDN[^]
[quote]
An application sends an LB_INSERTSTRING message to insert a string into a list box. Unlike the LB_ADDSTRING message, the LB_INSERTSTRING message does not cause a list with the LBS_SORT style to be sorted.
[/quote]
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
"Obviously ??? You're definitely a superstar!!!" - mYkel - 21 Jun '04
"There's not enough blatant self-congratulatory backslapping in the world today..." - HumblePie - 21 Jun '05
Within you lies the power for good - Use it!
|
|
|
|
|
|
Crap... I tried everything, nothing worked... How do I do that "auto sort" thing? Here's my code:
void CMazzeeMapGrouperDlg::OnBnClickedMoveUp()<br />
{<br />
int initialCurSel = this->maps.GetCurSel();<br />
if (this->maps.GetCurSel() > 0)<br />
{<br />
mapGroup.MoveDown(maps.GetCurSel());<br />
<br />
CString str;<br />
this->maps.GetText(this->maps.GetCurSel() - 1, str);<br />
<br />
this->maps.DeleteString(this->maps.GetCurSel() - 1);<br />
this->maps.InsertString(this->maps.GetCurSel() - 1, str);<br />
<br />
this->maps.SetCurSel(initialCurSel + 1);<br />
}<br />
}<br />
<br />
void CMazzeeMapGrouperDlg::OnBnClickedMoveDown()<br />
{<br />
int initialCurSel = this->maps.GetCurSel();<br />
if (this->maps.GetCurSel() < this->maps.GetCount() - 1)<br />
{<br />
mapGroup.MoveDown(maps.GetCurSel());<br />
<br />
CString str;<br />
this->maps.GetText(this->maps.GetCurSel(), str);<br />
<br />
this->maps.DeleteString(this->maps.GetCurSel());<br />
this->maps.InsertString(this->maps.GetCurSel(), str);<br />
<br />
this->maps.SetCurSel(initialCurSel + 1);<br />
}<br />
}
Am I doing something wrong? Thanks!
Lord Kixdemp
www.SulfurMidis.com
www.SulfurSoft.tk
[ftp://][http://][hotline://]tsfc.ath.cx
|
|
|
|
|
By "auto sort" I think he may have meant "alpha sort". If you are using a ComboBox, there is a checkbox on the Styles tab called 'Sort'. If you check this, the ComboBox will automatically AlphaSort the contents ( unchecked it Index Sorts)
|
|
|
|
|
|
Sorry for the delay, I have been on vacation over Xmas.
Yes the ListBox works the same. in the Resource editor, right click the ListBox and under the Styles tab you will see the Sort checkbox. Check for Alpha , uncheck for index. The problem with sort is it cannot be toggled. It can only be assigned when the object is created. There are several excellent tutorials in the CodeProject that demonstrate the properties of ListBoxes etc.
Happy New Year.
cgb
|
|
|
|
|
|
I'm making a simple VC6 MFC dialog application that, when you push a button, pops up a small dialog that has a progress control and an action button. When you press the button, it performs a lengthy iterative task and reports its progress via the progress control; the action button changes from "Go" to "Stop", such that a second press will cancel the lengthy task. If the task completes, it simply dismisses the dialog; if the user cancels the task, the button returns to "Go" and the dialog stays.
Not being a guru in multithreaded applications, I used my old standby peek-and-pump message dispatcher in the loop to handle the Cancel activity. I also tried for the first time to use a worker thread to perform the same task. They both worked, but the threaded version took almost 3 times as long to complete.
To distill the problem, I wrote another pair of applications that just write 1,000,000 numbers sequentially to a text file (print the for-loop iterator). I get the same result. The peek-and-pump version takes 5.2 seconds, while the thread version takes 12.5 seconds. Granted this isn't a big difference, but the original application updates a very large database and runs on the order of 2 minutes vs. 5½ minutes. Is this difference in performance to be expected?
Thanks,
[gb]
--
I've killed again, haven't I?
|
|
|
|