|
|
Hello, I am using a CRichEdit control object and I am trying to insert a new character in the control, which I get from another window. The code looks something like this:
<br />
TCHAR str[4];<br />
GetDlgItem(IDC_MYWND)->GetWindowText(str, 4);<br />
m_richedText.ReplaceSel(str);<br />
The problem is that with some truetype fonts (e.g. wingdings) and certain character codes, especially above 128 but not always the character which gets pasted in the control is different (different code) than the one I got in the first place. The weirdest part is that if I replace the ReplaceSel() function with SetWindowText() , I get the correct character (but I can't use it, because I do not want to replace the whole text in the control).
I am going to try using the clipboard and CRichEdit::PasteSpecial() but, any ideas about why this is happening in the first place?
Thanks in advance.
Have no fear of perfection - You will never reach it
|
|
|
|
|
Another thing which I just discovered:
Say I had pasted some characters inside the rich edit control from a specific font (webdings in particular). The characters get pasted alright, but when I call SetDefaultCharFormat() or SetSelectionCharFormat() with this particular font face and charset=DEFAULT_CHARSET , some characters change, or disappear completely (change into control characters)!
Have no fear of perfection - You will never reach it
|
|
|
|
|
Salvador Dali wrote:
TCHAR str[4];
GetDlgItem(IDC_MYWND)->GetWindowText(str, 4);
This is incorrect as there is no room for the nul terminator. Either change the size of str to 5, or change GetWindowText() 's second parameter to to 3.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Hi Group
can anybody pls help me exactly how to determine the OS version remotely on a lan(in VC++).
Thanks in Advance.
Rgds
VC++
|
|
|
|
|
Use NetServerGetInfo() .
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
hello i don't want the server information,i just want to detect the os in all the computers present on the lan
|
|
|
|
|
In your original post, you indicated you wanted to "determine the OS version remotely." That is what NetServerGetInfo() does, among other things. Something like:
LPSERVER_INFO_101 pBuf = NULL;
NetServerGetInfo(pszServerName, 101, (LPBYTE *) &pBuf);
printf("%lu.%lu\n", pBuf->sv101_version_major , sv101_version_minor);
NetApiBufferFree(pBuf);
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
i want to add licensing in my software. how do i do?
|
|
|
|
|
Check here[^] and
here[^]
<bold>- Nilesh
<italics>"Reading made Don Quixote a gentleman. Believing what he read made him mad" -George Bernard Shaw
|
|
|
|
|
checked the article "Using XML Digital Signatures for Application Licensing"
but i need to integrate it with my VC++ code. how do i do?
|
|
|
|
|
Dear Mr. Loibl
I am from Indonesia would like to ask you about your program called GraphicSuite, I downloaded all but especially for the source files there is no .mdp file then I couldn't open "Workspace..." in Visual C++ editor.
Would you mind to give some comments for that reason?
Thank you.
PS : Would you mind to chat directly via E-Mail for more efficient than by discussion forum?
Name : Alvano Yulian
Office : National Nuclear Energy Agency
Centre for Nuclear Instr. Develoment
Address : PUSPIPTEK, Serpong
Tangerang 15310
INDONESIA
Phone : +62217560896
Fax : +62217560921
CellPhone : +628129958696
E-Mail : alvano_yulian@yahoo.com
|
|
|
|
|
why did you ask here, instead of the forum for the article ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
I have a fairly complex application, to which I am adding socket communications for data logging. I have implemented an approach that uses a single winsock socket in a thread, and it's working ok. But it does not have the full functionality needed.
I designed the next implementation using CSocket and ran into a weird problem on actual coding. Even a simple declaration of a socket followed by a CSocket.Create(PORT, SOCK_STREAM) returns an error and fails. This is at initialization, where not much has yet happened.
It compiles fine under both VC++ 6SP5 and .net 2003. Doing this in a standalone application stump works ok, of course.
What could be going on here? I have been wasting more than half a day on this. Doing what I plan with winsock would take a lot more time.
Thanks for any hints,
-- Harald
|
|
|
|
|
HaraldS wrote:
CSocket.Create(PORT, SOCK_STREAM) returns an error and fails
could you please tell me the error it return
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
|
|
|
|
|
HaraldS wrote:
CSocket.Create(PORT, SOCK_STREAM) returns an error and fails
To have better description of errors use FormatMessage along with GetLastError.
Here[^] is the usage sample.
<bold>- Nilesh
<italics>"Reading made Don Quixote a gentleman. Believing what he read made him mad" -George Bernard Shaw
|
|
|
|
|
Are you creating the CSocket class on a thread NOT created using AfxBeginThread? I've heard that that might lead to problems.
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
call AfxSocketInit() in the initinstance of your application...
Greetings,
Davy
|
|
|
|
|
AfxSocketInit() was it! Worked first time it was added. Not sure, why the online CSocket documentation did not make it clear that it was needed.
Re other responses: I am using AfxThread, and the error code was not listed, since I could not find any reference to it ANYWHERE. But given MS docs that might not mean anything.
Thanks all for the response.
-- Harald
|
|
|
|
|
hai..
Thanks for u r quick response. The main problem is when i extract the unicode data it comming in ??????? symbols. How to extract this unicode data.Please let me know.
Thanking you,
E.Veera Raghavendra.
e.veera raghavendra
|
|
|
|
|
Ok reading your previous post I understand you want to convert from Unicode to Ascii string.
Having "????" in your resulting string is probably because you converted to a codepage that does not support the characters in the unicode string.
Also make sure the font you use to display the converted text support the converted characters. That could also be the problem
Greetings,
Davy
|
|
|
|
|
Unicode data is appearing on the application(MSWORD). When i extract throught the program it is giving in ????? symbols. Even i have installed "static libary for unicode" and "shared library for unicode". Please let me know.
Best Regards
E.Veera Raghavendra.
e.veera raghavendra
|
|
|
|
|
You might still need to convert the string data within your program from UNICODE text data to ASCII text data using a function like WideCharToMultiByte
|
|
|
|
|
I have tried with WideCharToMultiByte, It is not working.
wchar_t *unicodeStr;
int j=::WideCharToMultiByte(CP_ACP,WC_SEPCHARS,(const unsigned short *)cstContent.GetBuffer(0),-1,(char *)unicodeStr,0,NULL,NULL);
CString strj;
strj.Format("%d",j);
AfxMessageBox(strj);
if(j)
{
ToIntercedingModule(cstContent.GetBuffer(0),PURGE_SPEECH,cstFont.GetBuffer(0),"MSWord<<edit>>", false);
}
I have written above code. It's returning 0.
Thanking you
E.Veera Raghavendra.
e.veera raghavendra
|
|
|
|
|
WideCharToMultiByte converts from UNICODE to MultiByte.
I think you got the parameters all jumbled up in the sample function call you posted.
Let us assume you have a buffer of text in UNICODE that you want to convert to MultiByte
char msMultiByteStringBuffer[1024];
WideCharToMultiByte(CP_THREAD_ACP, 0, wsUnicodeString, -1, msMultiByteStringBuffer,
sizeof(msMultiByteStringBuffer), NULL, NULL);
You can dynamically allocate the multibyte buffer if necessary, by obtaining the number of characters required by making a blank call:
int iNumCharsRequired = WideCharToMultiByte(CP_THREAD_ACP, 0, wsUnicodeString, -1, msMultiByteStringBuffer, 0, NULL, NULL);
|
|
|
|