|
You're right. Obvious!
When you're alone in the Dark, Fear will protect you...
|
|
|
|
|
Hi,
I have a multiline CEdit control with some text. I want to find a word in this Edit control.
But I am not able to find the ans of following question.
1. How to get some string or part of string in between the CEdit control.?
2. Then if string matched how to make that word highlight?
|
|
|
|
|
I'm a bit rusty on this, but here goes
1) assign a member variable of type CString to the Edit Control. eg m_MyEdit .. you can then go CString someText = m_MyEdit .. you'd then need to parse this string in someText to find your word - maybe parse by spaces and or keywords
2) dont think you can do this 'simply' - I know you can change the font color and or background for the whole control, but not for a single words as part of a string - you may need an owner draw control using a 'light' rtf syntax or even better do it using a html type display - there are examples of each here on CP
'g'
|
|
|
|
|
MPTP wrote: 2. Then if string matched how to make that word highlight?
Doesn't SetSel [^] fit your needs, does it?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
good thinking - I was thinking in a different context ...
btw, how was your Holiday ? (I expect to be in Europe, especially Lago di Como, next year, from 18th Sept to 4th Nov)
'g'
|
|
|
|
|
Garth J Lancaster wrote: btw, how was your Holiday ?
Good, thank you.
Garth J Lancaster wrote: (I expect to be in Europe, especially Lago di Como, next year, from 18th Sept to 4th Nov)
No visit to Roma? Uhmmmmmmmmmmm
BTW welcome to the THHB [^] [^], Garth!
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
CPallini wrote: BTW welcome to the THHB
chuckle - not sure wether to laugh or cry - since there's a smiley face in your post I'll stick with laugh
CPallini wrote: No visit to Roma? Uhmmmmmmmmmmm
not this time unfortunately, I realise that must almost be a sin - I was there a few years ago - spent 5 glorious weeks in Italy, but I have limited time next trip so I want to visit somewhere I missed first time round
If I had an unending supply of $$ I'd live in Europe 6 months of the year, but I'll never see all the places I want to
ciao !!
|
|
|
|
|
Garth J Lancaster wrote: I'll stick with laugh
Good, after all it is a happy brigade!
Garth J Lancaster wrote: not this time unfortunately, I realise that must almost be a sin - I was there a few years ago - spent 5 glorious weeks in Italy, but I have limited time next trip so I want to visit somewhere I missed first time round
Ah, OK. But what about Florence, Venice? Maybe you already been there.
Garth J Lancaster wrote: If I had an unending supply of $$ I'd live in Europe 6 months of the year, but I'll never see all the places I want to
Don't be sad, I never been in Australia, so far...
Ciao!
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
in order, we visited Roma, Sorano, Siena, San Gimignano, Florence, Lucca, Pisa, Levanto (Cinque Terre), Binasco (Milan), Trento, Venice (and a miriad of places in-between), most of those (the bold ones) were major stops we used as a base
My brother studied in Italy for a period of time, and between us we did a good job of speaking Italian - a lot of places people nearly mistook us for locals - we had to ask them to slow down and speak tourist to us
Ahhh, the people, the sights, the food
CPallini wrote: Don't be sad, I never been in Australia, so far...
yeah, its a long way, but worth it
arriverderci
|
|
|
|
|
I set the selection but in the strange way. I have same text in 8 lines.
Only first line it show the selection in the best way but for others is shows the selection only half of the word.
This is my code
for (int nLine=0;nLine<m_edfilecontent.getlinecount();nline++)>
{
memset(tcBuffer,0x0,_MAX_PATH);
int nTotalCharInaLine=m_edFileContent.GetLine(nLine,tcBuffer,_MAX_PATH);
int nLengh=g_szFindText.GetLength();
for (int nChar=0;nChar<ntotalcharinaline;nchar++)>
{
if(memcmp(tcWord,tcBuffer+nChar,g_szFindText.GetLength())==0)
{
nTotalOcc++;
m_edFileContent.SetSel(nCharCount+nChar,nCharCount+nChar+nLengh,FALSE);
Sleep(2000);
}
}
nCharCount+=nTotalCharInaLine;
}
|
|
|
|
|
hi,
use function as follow:
1. CString szText = xxxctrl.GetWindowText();
by szText, you will get substring you want.
2. EditCtrl.SetSel(nStart,End), it will set substring to highlight.
nstart is the begin position of selection char by bytes, and nEnd is last
|
|
|
|
|
I am trying to install a local service under the context of a trusted domain account.
I installed the service correctly and it starts fine running under the LocalSystem context, however the service fails to start under the domain account because of a logon failure.
The domain account I am using meets all of the following requirements. Please tell me if I am missing anything:
1). Account is enabled/unlocked
2). Account password I am using is valid (logged into a few machines with it)
3). Account has local admin rights on the machine I am installing the service on
Attached is the CreateService() function I am using to install the service.
Thank you
TCHAR szPath[MAX_PATH] = (L"\"C:\\Program Files\\Temp.exe\"");
TCHAR szStartName[50] = (L"Domain\\User");
TCHAR szStartNamePassword[50] = (L"**********");
schService = CreateService(
schSCManager,
SVCNAME,
SVCNAME,
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
szPath,
NULL,
NULL,
NULL,
szStartName,
szStartNamePassword);
|
|
|
|
|
Make sure that the Domain\User account has the LogOnAsService right granted.
|
|
|
|
|
Graham, How do I set this programatically?
Thanks
|
|
|
|
|
|
Hey everybody!
I've been looking for a while for a way to get all print jobs being sent from the computer.
I tried to hook notepad and hook StartDocW and SetJobW, but nothing caught up.
Does anyone know of a way to hook the printing jobs?
Thanks a lot!!!
|
|
|
|
|
|
I have simple program (one dialog) with a rich edit control.
My OnInitDialog() event looks as follows:
BOOL CRichEditTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
// The m_oPrinterDC stores a device context of default printer
// The lLineWidth stores width which is less significant than width of
// the rich edit control - to have right margin.
m_oRichEditCtrl.SetTargetDevice( m_oPrinterDC, lLineWidth );
::SendMessage(
m_oRichEditCtrl.GetSafeHwnd(),
EM_SETTYPOGRAPHYOPTIONS,
(WPARAM)TO_ADVANCEDTYPOGRAPHY,
(LPARAM)TO_ADVANCEDTYPOGRAPHY
);
return TRUE;
}
When I type some sentences I can see that words are wrapped very nice (as expected).
Unfortunately when I type some unusual words they are not wrapped/formatted correctly.
For example: let N be the maximum number of dots (without spaces) that can fit in one line (without wrapping) in the rich edit control.
When I type N dots I have correct right margin (as expected).
When I type N+1 dots (without spaces) I have N dots in first line and 1 dot in second line
but the N dots in first line extend beyond the end of area where they should fit.
Can anyone give me some feedback on this issue? How can I achieve correct text formatting when text is unusual?
|
|
|
|
|
I have downloaded a unit testing framework which is written in standard C++. I have the source as well as a "lib" file. Is it possible to use that "lib" file in my CPP file instead of copying that framework source to my application directory.
I have added the "lib" file path in the visual studio's directory search path, but still it is complaining that the header files are missing. This error will disappear if I copy the framework's source files to my application directory. So is there any way to use the lib file in my project?
Any help would be great
|
|
|
|
|
The lib file may have the compiled object code from the source code,
but you will need to #include the header files in any of your source
modules that use code from the library.
That doesn't mean you have to copy source into your project folder.
You can use a path in your #include directives.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Yes that helped a lot. I solved the problem. It happened because of my lack of knowledge on how linker works.
To solve this, I have taken "Project Properties -> Linker -> Input" and added my library name in "Additional dependencies". Header file is written like the following
#include "c:\somepath\someheader.h"
I can copy the someheader.h to my application directory, but this file is a facade header file which contains includes to several other files. So compiler is complaining about those missing ones. Is it a good practice to give fully qualified path for the includes?
Thanks Mark for helping me. Have a great week ahead.
|
|
|
|
|
Christian Flutcher wrote: Is it a good practice to give fully qualified path for the includes?
I personally don't like fully qualified pathnames because it may cause a problem
when I move a project to another computer or a different drive.
I also don't like copying third-party source to my project's folder.
I like to arrange my project folders so I can use relative paths, something like
SolutionFolder
ProjectAFolder
ProjectBFolder
ProjectCFolder
ThirdPartyLibFolder
Then if a source file in project A needs to reference a ThirdPartyLib header file:
#include "..\ThirdPartyLibFolder\someheader.h"
That way the entire solution folder tree can be freely moved around without having to change
source code.
You can also use relative paths to reference the .lib
Christian Flutcher wrote: Have a great week ahead.
Thank you! You too!
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: I also don't like copying third-party source to my project's folder.
Yeah. But looks like we can't avoid copying them to the solution folder.
|
|
|
|
|
Christian Flutcher wrote: can't avoid
"Can't"?
I guess if you don't mind someone else's code mixed in with yours...
Whatever works for you
I also use some SDKs from Microsoft, which aren't installed in my solution
folder tree.
For those I add the appropriate paths to the Visual Studio project directories
settings so they are available to all projects.
My main goal is to not have absolute paths in source code - it's a pain to change them
later....not good for maintainability.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Christian Flutcher wrote: I can copy the someheader.h to my application directory, but this file is a facade header file which contains includes to several other files. So compiler is complaining about those missing ones. Is it a good practice to give fully qualified path for the includes?
You should not use hardcoded path in your source. Assume if you go to another machine and there the headers exist in another directory, either you've to edit the source or copy the headers to hardcoded path. Well, the solutions are as follows.
Solution 1
1) Include the header by just filename - #include "someheader.h"
2) Declare an environment variable - SOME_HEADER_PATH with path as C:\Somepath .
3) Restart visual studio IDE for making the new env var in effect.
4) Take Visual Studio project settings, C/C++ tab, Preprocessor settings category.
5) In "Additional include directories " add - $(SOME_HEADER_PATH) .
6) Now recompile the project.
Here you've moved the directory dependency to an external env var. And if you move to some other machine, just make sure that the env var in that machine holds the right path to your Somepath.
Solution 2
1) Include the header by just filename - #include "someheader.h"
2) Take menu, Tools > Options > Directories tab .
3) Now add C:\somepath to the include directory search list.
4) you are done.
Well, depends on your requirement choose the best. Well, I recommend the first.
Regards,
Jijo.
_____________________________________________________
http://weseetips.com[ ^] Visual C++ tips and tricks. Updated daily.
|
|
|
|
|