|
Never done any printing before from MFC. Trying for the first time, but i've fallen at the first hurdle.
The "print" menu item is disabled. Is there a "proper" way to tell the framework to enable it??
Thanks
Jon
#include <beer.h>
|
|
|
|
|
If its an MFC Doc/View app, you need to have these entries in your MESSAGE_MAP to get the base print functions working
ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
The above assumes your view is from CFormView . If not, change to the correct base class.
You may/will need to implement the following virtual function to get your output
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);
virtual void OnPrepareDC(CDC* pDC, CPrintInfo* pInfo);
The most important being OnPrint() where you generate the actual output of the given page (pInfo->m_nCurPage) and OnPreparePrinting() where you can specify the actual number of pages to print.
Also, take a look at the printing articles here at CP. Any big problems, you can mail me direct as I am usually able to answer printing questions.
Roger Allen
Sonork 100.10016
Were you different as a kid? Did you ever say "Ooohhh, shiny red" even once? - Paul Watson 11-February-2003
|
|
|
|
|
My App is MFC Doc/View, SDI, with Splitter windows. One view in one splitter pane is called CGraphView, it's : public CView, and it's the view i used when creating the document template.
I've added those entries to the messagemap for CGraphView; I have (empty) implementations of all of those virtual functions, but i *still* have greyed out print/print preview menu items.
any ideas?
Jon
#include <beer.h>
|
|
|
|
|
I have made a modeless dialog.Then i put one edit control. At the run time when i click for a particular position the edit box moves there. Now i want that it should receive particular values(Numeric,floating,string) for particular click positions in the dialog box.
how can i do that ?
manoj Kumar Dalei,
IIT Delhi
|
|
|
|
|
In your WM_LBUTTONDOWN handler, can't you just call CWnd::SetWindowText for your Edit control or just use UpdateData(FALSE) depending on the CPoint value passed by the handler function? or am i missing something more subtle??
Hope this helps,
Adam.
www.beachwizard.com/travelogue[^]
"I spent a lot of my money on booze, birds and fast cars. The rest I just squandered"
George Best.
|
|
|
|
|
|
One solution is to override OnSize() in child window and update the parent window accordingly via MoveWindow() and SetWindowPos().
Kuphryn
|
|
|
|
|
I would like to make some sort of copy protection that only allows the software to run on one computer with the given registration key. First i thought that the user should send me the serial number of the c: drive, a number that my program would show and ask the user to send it to me and get a key in return, based on the serial number.
But the serial number can be changed by the user, or when formatting the drive.
Is there any other kind of serialnumber that i can find on every computer that can be the base for a registration key?
|
|
|
|
|
I know quite a lot about this subject and I have made a few of my own software protection schemes in general, im also good at cryptography, I have made a few basic implementations of what you are calling a "registration process" feel free to message me for help.
AIM: vethax0r or LiquidIceKnight
MSN: spartaucshaxor@hotmail.com
No, I dont use ICQ, dont email that hotmail address cuz I won't reply, and if I do you may not like the response.
- LiquidKnight
|
|
|
|
|
Get the ethernet ID number. I don't know how you can do that but I know that that would be a unique number that cannot be changed.
none
|
|
|
|
|
Yes, i'm sure that your right, it is unique. But i would guess that not everyone have a network card, or i can not assume that they have. It must be some sort of number that can be found on every computer.
The harddrive serial is good, if it only was the same all the time and didn't change after a format.
|
|
|
|
|
I have an application that includes a tabbed control (property sheet/pages) that I use to display groups of various parameters. When a parameter is updated, I'm planning to programmatically switch to the sheet with the new parameter, and somehow visually guide the user to the new value. Here's an example...
Bias Current: 200 Offset Voltage: .34 Power Level: 5db
If we assume that the Power level just changed to 6db, I'm considering switching to the sheet with Power Level, and displaying it as follows...
Bias Current: 200 Offset Voltage: .34 Power Level: [6db]
Where the bracketed value marks the new value.
Does anyone have a more visually appealing suggestion to perform this function?
Thanks...
|
|
|
|
|
I do not get it. If one of you parameters changed (Power level in your example) does it mean number of parameters change? Does that change applies that list of parameters changed as well (new parameters added, some of the old ones hidden)? If no, why do you need to bother with tab control, just change the values of Edit boxes (or static, whatever you are using)
|
|
|
|
|
We use memory mapped files to share data among a number of cooperating processes & are looking to replace this methodology with a light weight database. Performance is critical.
Was looking at couple of databases -
- ISAM based C-tree Plus database from FairCom
- Btrieve from Pervasive Software
Ideally would like the database to run on Windows & Solaris platforms. Does anyone have experience with the above databases & how would you rate them? Are there others that would fit the bill? Any pointers would be appreciated.
TIA
Chen Venkataraman
|
|
|
|
|
We used to use in memory database , TimesTen I think. When we switched to MS SQL server we improved performance ten fold.
|
|
|
|
|
Is there a Mfc or SDK function which enumerates (or returns) the file names or file titles in one directory?
|
|
|
|
|
Use FindFirstFile , FindNextFile and FindClose .
rechi
|
|
|
|
|
How to Rotate the Enhanced MetaFile Without using SetWorldTransform?
|
|
|
|
|
are you really going to ask this question every day?
-c
Be very, very careful what you put into that head, because you will never, ever get it out. --Thomas Cardinal Wolsey
|
|
|
|
|
TRy to understand myprob
I want the use in my app.Because I was posted several times
Don't angry on me
Sorry for the distrubence
|
|
|
|
|
First off, You need to use GDI+...
rect is a RectF containing the position of where to draw the metafile.
RotationXY is the rotation around the center of that rectange (in hundeths of a degree I think).
PointF destinationPoints[3];
PointF Origin;
destinationPoints[0].X = (float)rect->GetLeft();
destinationPoints[0].Y = (float)rect->GetTop();
destinationPoints[1].X = (float)rect->GetRight();
destinationPoints[1].Y = (float)rect->GetTop();
destinationPoints[2].X = (float)rect->GetLeft();
destinationPoints[2].Y = (float)rect->GetBottom();
destinationPoints[3].X = (float)rect->GetRight();
destinationPoints[3].Y = (float)rect->GetBottom();
Origin.X = (rect->GetLeft()) + ((rect->Width)/2.0f);
Origin.Y = (rect->GetTop()) + ((rect->Height)/2.0f);
RotatePoints( destinationPoints, Origin, RotationXY, 3 );
graphics.DrawImage(&metafile, destinationPoints, 3);
and here is the RotatePoints function...
RotatePoints(PointF *point, PointF origin, T_DWORD RotationXY, int count)
{
double x, y, rad, crad, srad;
#define PI (3.1415926535)
rad = RotationXY;
rad = (rad * 2.0 * 3.1415926535)/36000.0;
crad = cos( rad );
srad = sin( rad );
while( count > 0)
{
x = point->X - origin.X;
y = point->Y - origin.Y;
point->X = (float)(origin.X + ((x * crad) - (y * srad)));
point->Y = (float)(origin.Y + ((x * srad) + (y * crad)));
count--;
point++;
}
}
Blade[DMS]
|
|
|
|
|
Thanks for the reply,
I was unable use the GDI+.Pl give if another solution to this.
|
|
|
|
|
I'm afraid that is the only solution I have found which does not involve stepping through the metafile and modifying each record manually.
Blade[DMS]
|
|
|
|
|
Thank u for reply
I am trying modify of each record manually.If u r found pl help
Once again thanks for the reply
|
|
|
|
|
Hi!
Help me please. What is the value of DC_BUTTONS flag which is used for DrawCaption() func.
Regards,
Yura.
|
|
|
|