|
I have some code as follows, to change the text and
background color of the currently selected text in a
control based on RichEdit 2.0.
------------------------------------------------------
CHARFORMAT2 cf;
unsigned int cfSz = sizeof(cf);
cf.cbSize = cfSz;
SendMessage(m_hWnd,EM_GETCHARFORMAT,(WPARAM)SCF_DEFAULT,
(LPARAM)&cf);
cf.crBackColor = RGB(255,0,0);
cf.crTextColor = RGB(0,0,0);
cf.dwMask |= CFM_BACKCOLOR | CFM_COLOR | CFM_LINK ;
if ( cf.dwEffects && CFE_AUTOBACKCOLOR)
cf.dwEffects -= CFE_AUTOBACKCOLOR;
if ( cf.dwEffects && CFE_AUTOCOLOR)
cf.dwEffects -= CFE_AUTOCOLOR;
cf.dwEffects |= CFM_LINK ;
SendMessage(m_hWnd,EM_SETCHARFORMAT,(WPARAM)SCF_SELECTION,
(LPARAM)&cf);
-------------------------------------------------------
however the selected text defaults to blue and is
underlined becuase of the CFM_LINK flags and overrides the
BackColor and TextColor I've set for the characters.
Is it possible to override Richedit's default displaying
of characters that have the CFM_LINK flags set? I haven't
been able to find any documentation on this but believe it
should be possible??? Any insight is appreciated.
Thanks in advance.
|
|
|
|
|
Why is it taking for my project so long to load....
I have a nice chunky project but still, it can take up to 2 minutes to load the whole workspace, any way to shoten it ?
Thanks
Shay
|
|
|
|
|
You mean if you doubleclick on a *.dws or *.vsproj file or open it from inside VS?
Actually this takes no more than 10 seconds for small project.
How big is your project? (count of files, classes ect.)
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Yes, double click on DSW on File->open
I have around 30 classes but I don't thin that should limit the speed, do you ?
|
|
|
|
|
It might be due to the "one-million breakpoints" problem. Bring up your breakpoint dialog and check if there's a heap of them set ( usually duplicates. ) Remove them and see if it helps.
Option 2:
If you don't use the class-view info, ( sounds limiting, but it doesn't have to be ),
you delete your project NCB file, create an empty one and make it write-protected.
It will speed up things, at the cost of not having the class-info available.
-=jarl=-
|
|
|
|
|
Where is this "Break point dialog" ?
Shay
|
|
|
|
|
hit Ctrl-B in the editor window, ( VC 6 ), or hit Ctrl-Shift-F9 to clear all, ( VC 7 )
-=jarl=-
|
|
|
|
|
Where do I get the "Break point" dialog ?
|
|
|
|
|
COOOOOOOOOOOOOOOLLLLL !!!!
I just found the dialog and removed all of them, and man, It works !
Thank you !
Shay
|
|
|
|
|
You are most welcome Sir!
-=jarl=-
|
|
|
|
|
Are you using any kind of integrated source code control? If so, it will take forever to load up large projects.
Even a broken clock is right twice a day.
|
|
|
|
|
No source control, sorry.
But I have around 30 classes in my project ,I don't think that's too big
|
|
|
|
|
No, actually that shouldn't be the problem
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Close everything and manually delete these files from the project's folder: *.NCB, *.PLG, *.OPT. Reopen and see if you notice a difference.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
Hello,
INTRODUCTION:
I'm using a normal CListCtrl in a dialog based app.
When I update/edit a value in the ListCtrl (REPORT MODE) I validate it versus all the other values (they must follow some rules) and if some are not as they should have to be, I modify the variables that are linked to those parameters and then I re-populate ALL the ListCtrl reading those variables...
NOTE:
I know that this is not the best method... but it works and I have no time to improve it... moreover there are only 8 elements in the ListCtrl.
QUESTION:
In order not to fool the user I want to be able to place the selection where it was (over the last edited item). The fact is that I can see the selection mark over the desired element, but when I press the down arrow the selection gets placed over the first element.
After the edition I'm using this code now:
<br />
if (iElement == -1) iElement = this->m_ElementModificatAct.m_iItemActual;<br />
this->SetItemState(iElement, LVIS_SELECTED, LVIS_SELECTED | LVIS_FOCUSED);<br />
this->EnsureVisible(iElement, FALSE);<br />
this->SetSelectionMark(iElement);<br />
OK, the selection mark is drawn where it should be, but when I press the down arrow I get the selection not in the next element... I get it over the first element...
Could I do anything?
Thank you in advance.
|
|
|
|
|
Funny I just solved this after posting a similar question.
change
this->SetItemState(iElement, LVIS_SELECTED, LVIS_SELECTED | LVIS_FOCUSED);
to
this->SetItemState(iElement, LVIS_SELECTED| LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
Dave Huff
Igor would you give me a hand with the bags?
Certainly - you take the blonde and I'll take the one in the turban!
|
|
|
|
|
|
Do you think I can use that trick in order for my list control not to deselect all items one it loses the focus ? When I press a button it deselects all items from the list... I have to select them again...
JM
Earth > Europe > France > Lyon
|
|
|
|
|
I use DirectShow for playing AVI. How to play AVI in the reverse direction?
|
|
|
|
|
Hello to all,
I have an embedded CPropertySheet inside a dialog and this sheet contains 4 pages. The user can't access the second page unless he has entered and saved a record inside the first one. So in the SecondPage::OnSetActive() I query some data members and if nothing has been entered I call the parent PropertySheet and ask it to SetActive the first page. UI wise the first page is selected but the controls displayed are still those of the second page. What call(s) do I have to make in order to display what the first page has to offer in terms of controls ????
Thanks in advance for any help !
Luc
|
|
|
|
|
Override the OnKillActive() for the 1st propertypage and return false in no record has been written. This stops the 2nd page being activated at all.
Roger Allen
Sonork 100.10016
This is a multiple choice question, choose wisely
Why did the hedgehog cross the road?
A: To show he had guts?
B: To see his flat mate?
|
|
|
|
|
Cool. Your suggestion work fine !!!
|
|
|
|
|
I need a non-MFC function that takes a filename, and returns a MD5 of the file. I'd prefer a non-RSA implementation, because of limited space for the copyright stuff. Anyone know of such a function?
Thanks!
|
|
|
|
|
Is there an easy way to write TRACES to a log? If not should I just use CFile or something similar?
Thanks in advance for your advice
Rob
|
|
|
|
|
Either create your own logging class (something derived from CFile), or re-define TRACE to add the text to a text file
--
Help me! I'm turning into a grapefruit!
|
|
|
|