|
You can use the thumbnail project mentioned earlier for examples on how to use some parts of GDI+.
The GDI+ documentation is going to be where you need to go now for more details on how to use it.
Good luck!
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
Thanks a lot for helping me so much~
|
|
|
|
|
James R. Twine wrote: Also note that since you specified ILC_COLOR24 when creating the Imagelist control, setting a Mask value in the call to Add(...) will have no effect - Masks only work on 8-bit (or lower) bitmaps.
It works fine on 24-bit bitmaps if you use the ILC_MASK flag...
m_imagelist->Create(200,200,ILC_COLOR24|ILC_MASK,1,4);
m_imagelist->Add(&bitmap,RGB(255,0,0));
Try it
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
Actually, you need that parameter for masks to work correctly even in 8-bit images. For any images with a higher bit depth, I have had too much trouble trying to get mixed colors exactly right for that to work correctly for me. Couple that with art software that does dithering (with higher depth images) when not asked to and the problem gets real bad real quick.
Was easier to just build a mask bitmap and set it directly in the control.
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
James R. Twine wrote: I have had too much trouble trying to get mixed colors exactly right for that to work correctly for me. Couple that with art software that does dithering (with higher depth images) when not asked to and the problem gets real bad real quick.
That's when I'd hand the problem off to the art department (ie, my graphic-designer
girlfriend LOL).
There's 16777216 colors...how hard can it be to find ONE to use as a transparent color?
Cheers!
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
Hai,
Any one can Help me to provide the funtions for zooming in VC++?
I am using PRSDK (For canon Powershot A640 Camera).
Canon provide one sample. But in that sample they are provide only the
zooming option for CDSDK. which is not supported by Powershot A640.
So if any one have knowledge about this please help me.
If anyone have SDK which supports canon Powershot A640 Camera then i will
very thankfull for that.
Please replay to this mail
jonson.joseph@gmail.com.
Thanking you
Johnson
Johnson
|
|
|
|
|
Hi there,
I have a CEdit Control which I have put on a form at design-time. The CEdit control does not have any text initially. Now on run-time, I am inserting text to the CEdit control and I want the CEdit Control size to fit the text that I entered. It has to fit EXACTLY the text (resizing the CEdit to have a width which will just be enough to show the text). How do I do this dynamically?
Any help would be highly appreciated
Best Regards,
Soleil Couchant
|
|
|
|
|
As far as I know, you have to count the pixels used by your text through the font size, and then resize the CEdit text accordingly.
Constantly "Saving the day" should be taken as a sign of organizational dysfunction rather than individual skill - Ryan Roberts[^]
|
|
|
|
|
For sizing a control, see SetWindowPos() or MoveWindow() .
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
The focus of this article is italic fonts, but the author attempts to resize the controls to the text size so it may be up the same alley.
here[^]
|
|
|
|
|
Here's some code you can play with - it's the closest I could get on a single-line edit control.
Multiline edit controls may work better since they allow you to change the formatting rect.
Hopefully this will give you a general idea of a way to do it
CString str = _T("Test Text");
CFont *pFont = m_Edit1Edit.GetFont();
CWindowDC dc(this);
CFont *pOldFont = dc.SelectObject(pFont);
CSize TextSize = dc.GetTextExtent(str);
dc.SelectObject(pOldFont);
CRect WindowRect;
CRect ClientRect;
CRect FormatRect;
m_Edit1Edit.GetWindowRect(&WindowRect);
m_Edit1Edit.GetClientRect(&ClientRect);
m_Edit1Edit.GetRect(&FormatRect);
CSize BorderSize;
BorderSize.cx = WindowRect.Width() - FormatRect.Width();
BorderSize.cy = WindowRect.Height() - ClientRect.Height();
m_Edit1Edit.SetWindowPos(0, 0, 0, TextSize.cx + BorderSize.cx, TextSize.cy + BorderSize.cy, SWP_NOZORDER | SWP_NOMOVE);
m_Edit1Edit.SetWindowText(str);
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
I have created one static txt control and now I have to set text in multiple fonts in multiple lines
I am creating and setting fonts like that:
m_MyStaticText.Create("",WS_VISIBLE|BS_TEXT|WS_CHILD,CRect(0,0,520,58),this,IDC_STATICTEXT_PARTITION);
if (TRUE == m_font.CreatePointFont( 140, _T ("MS Sans Serif")))
{
m_MyStaticText.SetFont(&m_font);
}
m_MyStaticTextPartition.SetWindowText("\t\t\nPartition Selection");
but I have to set different font in different lines in this static text control.
So can any body tell me how it is possible.
thanks
bankey
|
|
|
|
|
Banks K wrote: how it is possible
I do not think it is. You will have to switch to a rich edit control for this, I think.
Constantly "Saving the day" should be taken as a sign of organizational dysfunction rather than individual skill - Ryan Roberts[^]
|
|
|
|
|
thanks for youe quick response.
can i set fonts for prticular line of text in rich edit text
if it is possible than please tell me...
thanks
bankey
|
|
|
|
|
Yes, you can set separate fonts for different parts of text in a RichEdit control. That can be different lines, different letters...
Answering the question of "how" is far too long to reasonably expect someone to type here for you. But a search on codeproject will help.
An article by Johan Rosengren I found very useful:
CRulerRichEditCtrl - a complete RTF mini-editor[^]
There are others in http://www.codeproject.com/richedit/[^] also.
Good luck,
Iain.
|
|
|
|
|
|
hi, anyone can help me figure out how to read data from a text file like this:
10980012907200228082002
and extract the data according to this kind of format:
Record type 1
TY-RECORD PIC (1).
ID-PARTICIPANT PIC (6).
DT-START PIC (8).
DT-END PIC (8).
i would want the program to extract the data and display them in a table, according to their fields:
TY-RECORD ID-PARTICIPANT DT-START DT-END
1 098001 29072002 28082002
and to save them in an excel format. I have plenty of record types (0 - 9) and need to display them in separate tables.
does anyone has a source code for this? or at least somebody pls guide me to figure out ways to create the program.
many thanks!
|
|
|
|
|
A handy way could be to use typedefs:
typedef struct Mytype {
unsigned int ty_recored : 1;
unsigned int id_participant : 6;
unsigned int start_pic : 8;
unsigned int dt_end_pic : 8 } Mytype;
typedef union Myunion
{
unsigned int ReadData;
Mytype ValueData;
}
Read in the lines of the file in the member ReadData of a variable of type Myunion, and get the data using the ValueData member.
Sorry for that, read Iain's post.
Or read the lines as text strings and parse them.The way you want to parse them depends on what you are using (char*, CString, or stl::string).
To save in an excel format, simply use the csv format (column value, coma, column value, coma, and so on ).
<div class='ForumSig'>Constantly "Saving the day" should be taken as a sign of organizational dysfunction rather than individual skill - Ryan Roberts[^]</div>Last modified: 50mins after originally posted --
|
|
|
|
|
If I read his question correctly, he needs to separate out the ascii represented numbers.
The struct you have described is a handy way to separate out bits of a number using bit fields. While this is v. handy for talking to hardware, I doubt it would help in this instance.
Always possible its *me* that's misreading though!
Iain.
|
|
|
|
|
Oh well, I have made too much with bitfields lately . Thanks for pointing this out Iain.
Constantly "Saving the day" should be taken as a sign of organizational dysfunction rather than individual skill - Ryan Roberts[^]
|
|
|
|
|
Read the text from the file into a CString (or char array, or std::string) -- if you can't work that out, then resign your job, or go ask your tutor...
Verify it's the right length!
If its in a CString, then you can extract bits of it using...
CString::Mid ().
So you could do...
int dt_end_pic = atol (stringWhole.Mid (1+6+8, 8));
etc.
You can do similar with std::string, and you can do it the hard with with char arrays too.
I've had to save data for excel to process before. I know there are APIs out there which tell you how to connect to Excels DOM model, etc.
I've cheated, and written out the data in CSV format, and let excel do the heavy lifting itself.
sprintf (buf, "%i,%i,%i,%i\n", ty_record, id_participant, dt_start, dt_end);
then output the string to a new file.
I hope that helped with the hard bits!
Iain.
|
|
|
|
|
mrr2 wrote: or at least somebody pls guide me to figure out ways to create the program.
Create a class that represents one of the lines:
class Line
{
public:
Line() {}
~Line() {}
private:
std::string TY_RECORD;
std::string ID_PARTICIPANT;
std::string DT_START;
std::string DT_END;
}; Then use the std::copy() function to read each line of the file into a vector of Line objects.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi All,
I have created a dialog for wizard which hosts another dialogs into itself.
Everything works fine, but it is necessary to call DoDataExchange() method of
child dialogs from within parent dialogs DoDataExchange() method.
Can anyone tell me how can I do this?
|
|
|
|
|
and why so? isn't it possible for you to call functions of Child Dialog from Parent Dialog. you have a wizard implemented. How do you implement it? Using CPropertySheet?
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
OK, let me make it clear.
1. I have a child dialogs whose dialog style is set to DS_CONTROL .
2. In parent dialog's InitDialog() , I have created variables for child dialogs.
The problem is that when (in normal conditions) DoDataExchange(CDataExchange* pDX) is called, the pDX parameter is passed to it. And I think MFC does it for us.
But from within
<br />
void CDriveNewWizard::DoDataExchange(CDataExchange* pDX)<br />
{<br />
CDialog::DoDataExchange(pDX);<br />
<br />
DDX_Control(pDX, IDC_cmdBack, m_cmdBack);<br />
DDX_Control(pDX, IDC_cmdNext, m_cmdNext);<br />
}<br />
what should I pass to child dialog's DoDataExchange() method?
|
|
|
|