|
actually on saving file at close of application it is inserting end of file after every character.this is actually the problem.
|
|
|
|
|
Please answer,
what have you seen at the message boxes ?
virtual void BeHappy() = 0;
|
|
|
|
|
in both cases it is showing count 1024 in messageboxes..my qus is that where is my code inserting EOF after every character?
|
|
|
|
|
|
why my code is inserting EOF after evry character on saving file.where my code is wrong?
|
|
|
|
|
When your project is configured as UNICODE project
the output will be performed by two bytes per character...
Would you like to see your output in ANSI ?
virtual void BeHappy() = 0;
|
|
|
|
|
yes?but i want to keep the project as unicode
|
|
|
|
|
چرا که نه؟
Just convert your string to ANSI sequence:
#include <AtlConv.h>
...
{
...
USES_CONVERSION;
LPSTR lpszANSI = T2A(cszOut);
cOutFile.Write(lpszANSI, strlen(lpszANSI));
...
}
virtual void BeHappy() = 0;
|
|
|
|
|
thanx a lot Eugen Podsypalnikov that was what the problem was actually it was inserting extra byte.thanx nw it is working fine after converting to ansi.
Regards
|
|
|
|
|
You are welcome !
(sometimes I do read and write UNICODE csv-files,
you could it too, when it will be needed once )
virtual void BeHappy() = 0;
|
|
|
|
|
yeah thanx
|
|
|
|
|
Hi i want to crate a rectangle based on the font size, font style,and number of charactes.So How can i decide width and height of different font size,font style & number of characters.
|
|
|
|
|
You can get the font information from CWnd member GetFont(http://msdn.microsoft.com/en-us/library/cb4schcy(VS.80).aspx)
And GetLogFont of the CFont will help get the information about the font.
http://msdn.microsoft.com/en-us/library/zhcs623h(v=VS.71).aspx
Величие не Бога может быть недооценена.
|
|
|
|
|
This function could calculate the text dimensions :
void GetTextSize(CSize& cResultSize,
CDC* pcDC,
CFont* pcFont,
const CString& cszText)
{
if (pcDC && pcFont) {
CGdiObject* pcOldFont = pcDC->SelectObject(pcFont);
cResultSize = pcDC->GetTextExtent(cszText);
pcDC->SelectObject(pcOldFont);
}
}
virtual void BeHappy() = 0;
modified on Friday, April 2, 2010 2:12 AM
|
|
|
|
|
Please can you me an example.
|
|
|
|
|
It could be something like this :
void CYourView::OnDraw(CDC* pDC)
{
if (pDC) {
CString cszText(_T("Hello World !"));
CRect cTextRect(CPoint(100, 100),
pDC->GetTextExtent(cszText));
pDC->FillSolidRect(cTextRect, RGB(0, 200, 0));
pDC->DrawText(cszText, cTextRect, DT_LEFT | DT_TOP);
}
}
virtual void BeHappy() = 0;
|
|
|
|
|
actually i want create a Button based on fontsize fontstyle ,no of characters and font type.I dont know what actul text or characters. only i have a options like.
No of characters : 50
Font Size : 16
Font Style : Regular/Bold/Italic
Font Type : Times New Roman or Arial or Courier
How width and height can be decided for the above ? so i can create a Button by assigning width and height easily .
|
|
|
|
|
Try it :
#define GAP 20
CSize GetButtonDimensions(int iCharCount,
int iFontSize,
const CString& cszFontName)
{
CSize cResultSize(0, 0);
CFont cFont;
if (cFont.CreatePointFont(iFontSize * 10, cszFontname)) {
CDC cDC;
if (cDC.CreateCompatibleDC(NULL)) {
CGdiObject* pcOldFont = cDC.SelectObject(cFont);
TEXTMETRIC tm = {0};
cDC.GetTextMetrics(&tm);
cResultSize.cy = tm.tmHeight + 2 * GAP;
cResultSize.cx = tm.tmMaxCharWidth * iCharCount + 2 * GAP;
cDC.SelectObject(pcOldFont);
}
cFont.DeleteObject();
}
return cResultSize;
}
virtual void BeHappy() = 0;
|
|
|
|
|
i am getting error :
[CGdiObject* pcOldFont = cDC.SelectObject(cFont);]
'initializing' : cannot convert from 'HGDIOBJ' to 'CGdiObject *'
|
|
|
|
|
Sorry, ..cDC.SelectObject(&cFont);
virtual void BeHappy() = 0;
|
|
|
|
|
Thank You Eugen Podsypalnikov i got.
|
|
|
|
|
This capability was removed from Visual Studio starting with Visual Studio .NET 2003*.
Discussion on the msdn.com and microsoft.com web sites indicate that this feature
will not be implemented in future versions of Visual Studio.
You can create a .bat file or makefile based on the buildlog.html. A buildlog.html file is created after building a project. You can find the file under the $(output) directory.
I am not a genius, but shed more sweat!
|
|
|
|
|
Just wondering.
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]
|
|
|
|
|
Hi
This is more of a code architecture question. I'll try my best to explain what I'm trying to do.
I need to create a function that have access to a secondary thread, process it, and returns back to the primary thread.
Let say class B has FunctionX.
bool B::FunctionX(LPCTSTR lpszValue, CString& strResponse)
{
}
Then, class CMyView will call FunctionX like so
void CMyView::Foo()
{
B myB;
CString str;
if(myB.FunctionX(TEXT("TestValue"), str)
{
AfxMessagebox(TEXT("Oh Yeah!"));
}
else
{
AfxMessageBox(TEXT("Boohooo!"));
}
}
|
|
|
|
|
So u mean you want to create a thread(Secondary) inside a thread(primary) and then do the secondary processing and then continue the primary.
Величие не Бога может быть недооценена.
|
|
|
|