|
Windows are represented by handles and they are global to windows rite ?
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
Hello
Using MFc i am drawing some figures on the View. Now what i want is to save the content in the device context (Memory device context or client device context) to a Jpeg file.
I had found and searched the codeguru and codeproject projects. But there are code available for conversion of file from BMP to Jpeg and not directly CDC --> Jpeg.
I have gone thru CXImage slighly but there also i found above step only. Can any body help me in saving the CDC to JPEG.
Thanks in advance
Leave your mark wherever you go
|
|
|
|
|
(Didn't I just post this last week?)
Create a Device-Independent Bitmap with CreateDIBSection , select it into a device context compatible with the DC which holds the image you want to save, use BitBlt to copy the saved image to the compatible DC. You can then access the DIB pixel values directly in the array you passed to CreateDIBSection .
Stability. What an interesting concept. -- Chris Maunder
|
|
|
|
|
Thanks for you kind suggestions.
I want to save my Device Context contents to Jpeg file.
I am newbie and it seems to me that your suggestion will help me to save the dc content to the BMP file.
Can you give me idea how to save this to Jpeg file.
Mike Dimmick wrote:
(Didn't I just post this last week?)
Can you provide me link to that thread. Thanks for your responce
Leave your mark wherever you go
|
|
|
|
|
Hi,
I m a student of MCA final year and I m working in VC. I used a dialog base application. I used BMP's for the background and for every button in the application.
The problem is that whenever I use the DoModal(), to show the next dialog, I get the flickering problem. Anyone know about this problem ??
Thanks in advance.
Please reply soon..
Mayank Kumar
|
|
|
|
|
Handle OnEraseBackground and do nothing just return 0
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
Hi Mr. Prakash,
Thanks for the reply. I tried the OnErase method, but the result is same.
Actually, I am using different dialog boxes. Everytime, when I load the next dialog box, I hide the previous one. There is no link between the dialog box. I am simulating the application wizard without using the prperty sheet. I got the flickering problem when I load the next dialog box and hide the previous one.
Do u know anyother method for the flickering problem.
Please reply
Mayank Kumar
|
|
|
|
|
humm Handling onerasebackground should have solved the problem if i had understood the problem rite...
Flickering is usally caused because of erasing the bk and repainting it...
If you are bitblting the image in OnPaint event how are you doing it?
Can i have the Onpaint code if it is small and simple to understand.
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
Hi Mr. Prakash,
I am sending u the code of one of the OnPaint function.
The Code is ....
void CDialogSingleConversion::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
//for background image
// CPaintDC dc( this );
CBitmap bmp, *poldbmp;
CDC memdc;
// Load the bitmap resource
bmp.LoadBitmap( IDB_BITMAP_BACKGROUND);
// Create a compatible memory DC
memdc.CreateCompatibleDC( &dc );
// Select the bitmap into the DC
poldbmp = memdc.SelectObject( &bmp );
// Copy (BitBlt) bitmap from memory DC to screen DC
dc.BitBlt( 0, 0, 644, 489, &memdc, 0, 0,SRCCOPY );
memdc.SelectObject( poldbmp );
//background end here
// Do not call CDialog::OnPaint() for painting messages
}
In this code I m just stting the background of the dialog box. I m doing this for each dialog box. Also I am using my own class called CImageButton, to put the images on the buttons. I m sending u the code for the Oninitdialog box for one of the dialog box. The code is::
BOOL CDialogSingleConversion::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//Code to set the bmp's for the buttons..
m_btnNext.Attach(IDC_BUTTON_NEXT,this,IDB_BITMAP_NEXT,IDB_BITMAP_NEXT);
m_btnBack.Attach(IDOK,this,IDB_BITMAP_BACK,IDB_BITMAP_BACK);
m_btnClose.Attach(IDC_BUTTON_CLOSE,this,IDB_BITMAP_CLOSE,IDB_BITMAP_CLOSE_R);
m_btnMinimize.Attach(IDC_BUTTON_MINIMIZE,this,IDB_BITMAP_MINIMISE,IDB_BITMAP_MINIMISE_R);
m_btnBrowseOutput.Attach(IDC_BUTTON_BROWSEOUTPUT,this,IDB_BITMAP_BROWSE,IDB_BITMAP_BROWSE_R);
m_btnBrowseInput.Attach(IDC_BUTTON_BROWSEINPUT,this,IDB_BITMAP_BROWSE,IDB_BITMAP_BROWSE_R);
CFont *m_Font = new CFont;
m_Font->CreatePointFont(100,"Verdana");
m_Destination.SetFont(m_Font);
m_FileName.SetFont(m_Font);
m_FileSize.SetFont(m_Font);
m_SelectFile.SetFont(m_Font);
CFont *m_Font1 = new CFont;
m_Font1->CreatePointFont(150,"Verdana");
m_Heading.SetFont(m_Font1);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
here m_btnNext etc are the obj of my class CImageButton and they are the member variables of the dialog class. Here I am attaching the bitmaps with the buttons. I m using the bitblt function for applying the BMP's on the buttons.
If u need any other info then plz let me know.
Thanks and Regards
Mayank Kumar
|
|
|
|
|
Firstly is it the flickering of the image or the flickering of the dialog?
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
Hi Mr. Prakash
It is the flickering of the dialog Box and I think it is due to the images which i m using for the background and buttons.
thanks and regards
Mayank Kumar
|
|
|
|
|
Its not due to the images, its due to closing and showing the dialogs....
refer David Crow's solution , use propertysheet instead.
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
Mayank_pumca wrote:
I am simulating the application wizard without using the prperty sheet.
Why? When one dialog is destroyed/hidden and another is created/shown, there is going to be "flicker."
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
Hi Mr. DavidCrow
Do you mean to say that there is no solution of this problem ?
Please reply.
Thanks and Regards
Mayank kumar
|
|
|
|
|
Anonymous wrote:
Do you mean to say that there is no solution of this problem ?
Well, you did not state the reason why you were not using a property sheet in wizard mode. That's the only (easy) solution as I see it.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
Hi Mr. DavidCrow,
I know that property sheet is the best option but I am using dialog box becoz I want to use some background to make my application more attractive. And now I cant switch to the property sheet becaz my application is almost complete and I dont have much time to recreate the application using property sheet. So if u have some solution except property sheet then plz let me know.
Thanks and Regards
Mayank Kumar
|
|
|
|
|
Hi,
I m a student of MCA final year and I m working in VC. I used a dialog base application. I used BMP's for the background and for every button in the application.
The problem is that whenever I use the DoModal(), to show the next dialog, I get the flickering problem. Anyone know about this problem ??
Thanks in advance.
Please reply soon..
Mayank Kumar
|
|
|
|
|
I have an app using the CHtmlView to drive the user inteface.
I have a web page black.html, which is exactly that, a plain black page.
I have maximized the mainframe window but there is still a thin white border around the page. - How do i set this to black?
I have tried:
Overriding OnEraseBkGround - for both CHtmlView + MainFrame
<br />
<br />
CBrush backBrush(RGB(0,0,0));<br />
<br />
CBrush* pOldBrush = pDC->SelectObject(&backBrush);<br />
<br />
CRect rect;<br />
pDC->GetClipBox(&rect);
<br />
pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(),<br />
PATCOPY);<br />
pDC->SelectObject(pOldBrush);<br />
<br />
I still can't get rid of the thin white border - please help
Carl
|
|
|
|
|
Carl, try using a margin-less body tag in your .html file, a la:
<body style="margin-left:0px; margin-right:0px;">
...
</body> You can use a similar trick to get rid off the annoying default scroll bar.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
This is not the web page, this is the Mainframe or View. I already have all margins turned off. I i view the page in just IE, there are 'no' right or bottom this lines.
This is a tiny thin border not controlled by the web page itself.
Carl
|
|
|
|
|
Hi All,
I have a tree view containing table names which I get by using the CTable class defined in ATLDBSCH.H. Under each table is a list of field names which I get by doing this...
CColumns rsColumns;
hResult = rsColumns.Open(m_session, NULL, NULL, tableData->sName);
All this is working fine but I need to show my field names in BOLD when they are either primary or foreign keys. There are two classes for getting this information. Namely CPrimaryKey and CForeignKey. When I try to use these I do not get any errors but also I do not get ANY rows returned. It is like there is no primary or foreign keys in my table but I know for sure that there are.
If anybody could offer me any help with this I would appreciate it ever so much. Has anybody used these classes before with any success?
Thank you,
Chris Ulliott
|
|
|
|
|
Yes. Some of it is a little dependent on the database in use, as that alters what you pass in for TABLE_CATALOG and TABLE_SCHEMA. I guess that you're using NULL and NULL for both of those at the moment.
If you're using SQL Server or Oracle, you can check (by generating scripts, or by looking at the properties/indexes for a table). Similarly, you should be able to use Access to determine that you really are seeing what you think you are.
If you're using Oracle or SQL, is it possible that the default schema has tables without keys?
Steve S
|
|
|
|
|
Hi Steve,
Thanks for replying. This is how im doing it...
CPrimaryKeys rsPK;
// the table name is just that. It does not contain the schema name (NOT LIKE "schema.table")
hResult = rsPK.Open(m_session, NULL, NULL, NULL, NULL, tableData->sName);
hResult = rsPK.MoveNext();
while (hResult == S_OK) // hResult is always some wierd value but GetLastError says "Success"!
{
// Never getting into here... Same with oracle or SQL Server or Access HMPH!
CString indexColumnName = rsPK.m_szColumnName;
indexes.Add(indexColumnName);
hResult = rsPK.MoveNext();
}
Thanks,
Chris
|
|
|
|
|
Is hResult == DB_S_ENDOFROWSET, by any chance?
You can look in the VC debugger by putting "hResult,hr" in a watch window, or even a quick watch, the hr specifies the format.
This would mean there's no primary key. However, you're passing in too many NULLs. You need (session,NULL,NULL,tablename).
For indexes you need (session,NULL,NULL,NULL,NULL,tablename) and for foreign keys, you need (session,NULL,NULL,NULL,NULL,NULL,tablename).
These should give you what you want.
You're asking yourself "How does he know this?"
In the OLE DB Programmers Ref, the restriction columns are listed in order for each of the TABLES, PRIMARY_KEYS, INDEXES, and FOREIGN_KEYS rowsets.
Steve S
|
|
|
|
|
Hi Steve / Anybody,
Although the primary keys are working fine I am having terrible trouble getting the Index information.
Any ideas what I am doing wrong? Here is some code:
CIndexes rsIndex;
hResult = rsIndex.Open(m_session, NULL, NULL, NULL, tableData->sSchema, tableData->sName);
if(hResult == S_OK)
{
hResult = rsIndex.MoveNext();
while (hResult == S_OK) {
CString indexColumnName =
rsIndex.m_szColumnName;
indexes.Add(indexColumnName);
hResult = rsIndex.MoveNext();
}
}
I have also tried it with 4 NULL's and not passing the schema name but it still gives me a zero record count.
Any ideas would be appreciated!
Thanks,
Chris
|
|
|
|
|