|
Thanks for the suggestion, but the exact same result as before.
|
|
|
|
|
can u explain whats going wrong with some piece of code?
|
|
|
|
|
PaulowniaK wrote: My understanding from other posts was that char* is an array of single bytes, and that in VS2005, CString is Unicode.
CString is Unicode-ready in the Unicode projects only virtual void BeHappy() = 0;
|
|
|
|
|
I suggest this nice article[^] (and the next one). Things will probably be much clearer afterwards.
|
|
|
|
|
Thanks, I have read this.
The trouble is, I don't know how to tell if I'm working in SBCS, DBCS or Unicode...
Or at least I thought I knew but it looks like I don't...
I wonder if it's because CString's constructor takes MBCS and Unicode, so reading from CFile does one version and writing using MSXML does the other? Almost, but not quite, entirely unlike... me...
|
|
|
|
|
CString become CStringW if your project setting is UNICODE and it becomes CStringA if the project settings is Multi-byte.
|
|
|
|
|
I think my little grey cells are just about OK with that...
But, then, what do you think about the fact that I have 2 CString s, one is apparently CStringA and the other is CStringW in the same project, which I am quite certain is Unicode. Almost, but not quite, entirely unlike... me...
|
|
|
|
|
You are free to explicitly declare CStringA or CStringW independent of the project settings.
CStringA csA = "Hello";
CStringW csW = L"Hello";
|
|
|
|
|
Rejeesh.T.S wrote: You are free to explicitly declare CStringA or CStringW independent of the project settings.
The trouble is that I seem to have a string that is both CStringA and CStringW at the same time, depending on how the values are set.Almost, but not quite, entirely unlike... me...
|
|
|
|
|
CString has more to offer
void CMyClass::MyFunc()
{
CFile myFile(L"C:\\MyFile.txt", CFile::modeRead);
CString myString;
myFile.Read(myString.GetBuffer(myFile.GetLength()+1), myFile.GetLength());
myString.ReleaseBuffer();
myFile.Close();//not needed ?
}
and some error checking for the File I/O is missing Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
My attempt goes wrong here:
myString.ReleaseBuffer();
Something about lengths not matching. I've tried taking off the +1 but no luck.
I get a debug assertion:
Expression: nLength <=GetData()->nAllocLength
Almost, but not quite, entirely unlike... me...
|
|
|
|
|
i guess your are mixing Multibyte and Unicode. Compile the project in Unicode. Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
KarstenK wrote: i guess your are mixing Multibyte and Unicode. Compile the project in Unicode.
Yes, I have been compiling my project(s) in Unicode.Almost, but not quite, entirely unlike... me...
|
|
|
|
|
|
CFile myFile(_T("C:\\u_MyFile.txt"), CFile::modeRead);
TCHAR* pchContents = new TCHAR[myFile.GetLength()];
myFile.Read(pchContents, myFile.GetLength());
CString myString = (TCHAR *)pchContents;
myFile.Close();
delete[] pchContents;
|
|
|
|
|
CFile myFile(_T("C:\\u_MyFile.txt"), CFile::modeRead);
int len = myFile.GetLength();
TCHAR* pchContents = new TCHAR[len + 1];
memset(pchContents, 0, (len + 1) * sizeof(TCHAR));
int n = myFile.Read(pchContents, len);
CString myString = (TCHAR *)pchContents;
myFile.Close();
delete[] pchContents;
|
|
|
|
|
Thanks for the suggestions, but neither worked... Almost, but not quite, entirely unlike... me...
|
|
|
|
|
The below works if u_MyFile.txt is UNICODE and the project configuration is also UNICODE.
When switching project configuration it is better to use the portable type TCHAR.
CFile myFile(_T("C:\\u_MyFile.txt"), CFile::modeRead);
int len = myFile.GetLength();
const int MB_BUFFER_SIZE = 1024;
TCHAR* pchContents = new TCHAR[len + 1];
memset(pchContents, 0, (len + 1) * sizeof(TCHAR));
int n = myFile.Read(pchContents, len);
char mbString[MB_BUFFER_SIZE];
size_t countConverted;
mbstate_t mbstate;
#ifdef _UNICODE
pchContents++;
::memset((void*)&mbstate, 0, sizeof(mbstate));
countConverted = wcsrtombs(mbString, (const wchar_t **)&pchContents, MB_BUFFER_SIZE, &mbstate);
CStringA myString = mbString;
if (errno == EILSEQ)
{
printf( "An encoding error was detected in the string.\n" );
}
else
{
printf( "%s\n", myString.GetBuffer());
}
#else /* assuming txt file read is not UNICODE */
CString myString = pchContents;
printf( "%s.\n", myString.GetBuffer());
#endif
|
|
|
|
|
I am trying for a transpaerent radio button with colored text,
i tried so many options by overwriting WM_CTRL_CLR or WM_ERASE_BKGND etcc.. its working for static and buttons but radio buttons not working... can any throw a light on this.. how we can do it
|
|
|
|
|
From comctrl6,if theme enabled you cannot change the text color of the raido button usign the WM_CTLCOLOR color. AFAIK, one thing we can do is, disable theme only for radio button. After this your code in the CTL color will work.
eg:
SetWindowTheme( GetDlgItem( IDC_RAIOD_BTN_ID)->m_hWnd, L"", L"" );
where IDC_RAIOD_BTN_ID is the id of the radio button
|
|
|
|
|
Hope this may help
1.Create a CBrush member variable in Dialog class
CBrush m_brush;
2.In OnInitDialog, Create the brush with background color of the dialog
m_brush.CreateSolidBrush(RGB(200,100,0));
3.Handle the WM_CTLCOLOR message of the dialog and change the OnCtlColor function
HBRUSH CTestRadioDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if(pWnd->GetDlgCtrlID()==IDC_RADIO1)
{
pDC->SetBkColor(RGB(200,100,0));
pDC->SetTextColor(RGB(0,100,200));
return m_brush;
}
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
|
|
|
|
|
Have you tried
CDC::SetBkMode(TRANSPARENT) .
Regards,
Paresh.
|
|
|
|
|
What is the background of your dialog or window? A Image, or just filled with a color?
|
|
|
|
|
you can also use the radio button without text and paint the text yourself or in another static. Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Hi all,
i working on SMS sending application,
i able to send sms in Text mode by AT command,but some mobile not supported the Text mode format to sending sms,
so i want to send sms in PDU format.
please tell me how can i send sms in PDU mode by AT commands,
if possible please provide me any sample or example.
please tell me also how can create PDU code.
thanks in advance.
|
|
|
|