|
u need release ur dc;
code should be:
1. create a function:
DrawDC(CDC*pDC)
{
//put memory dc etc here
//do not use CClientDC lpDC(this);
//use pDC directly
}
2. OnMouseMove()
{
CDC pDC=GetDC();
DrawDC(pDC);
ReleaseDC(pDC);
}
3.OnDraw(CDC *pDC)
{
DrawDC(pDC);
}
includeh10
|
|
|
|
|
|
I am writing a program that provides the cost depending on weight. If the item weighs less than 16 ounces, the cost is $3.00. If more than 16 ounces the cost increases by .50 for each additinal 4 ounces. Here is what I have so far. It give me the 3 (not showing current format of $3.00) for weights <=16. But >16 shows a negative number.
Can some edit my code so it'll work? URGENT
#include <iostream.h>
#include <stdlib.h>
#include<stdio.h>
int main()
{
int wgt;
int x=0;
double cost;
int n = 4;
double i = 0.50;
double y;
cout <<"Enter the weight" <<endl;
cin="">> wgt;
if (wgt <16)
cost = 3.00;
cout <<"The cost is" <<cost <<endl;
="" {
="" if
="" (wgt="">16)
wgt = wgt +x;
x= n++;
y= i++;
cost = cost +y;
cout <<"Do you want to calculate the delivery";
cout <<" cost for another package?" <
|
|
|
|
|
sounds like homework, to me
so, here's a hint: if weight > 16, find out how much greater, then multiply the difference by $.50.
-c
"[it was..] one of those evenings when you feel that not only will there definitely be a revolution, but that the Association of Manufacturers will foot the bill."
-- Umberto Eco, Foucault's Pendulum
|
|
|
|
|
As I see it this will only work if the cost is $.50 per amount >16. I need to figure out that amount at $.50 per increments of 4. (4 for .50, 8 for 1.00, etc.)
How can I do this?
|
|
|
|
|
I might be that's Friday and I'm already into the brew or else you are code adds zero to 'x' then does the x=n++ .. etc... am i missing something here(mind you.. i've only glanced at your code so far)
---------------------------------------------
The greenest grass is NOT on the other side of the fence, its the grass you take care of. Have you watered your lawn lately?
|
|
|
|
|
Hi
In my current project the auto-completion suddenly does not work anymore. Usually if you type e.g.
CString foo<br />
foo.
a list of all available functions should appear, but that's not the case anymore. I already deleted the class-wizard file, but that didn't help
Any suggestions?
thanks in advance
modified 12-Sep-18 21:01pm.
|
|
|
|
|
try deleting the .ncb file, too
sometimes that helps
-c
"[it was..] one of those evenings when you feel that not only will there definitely be a revolution, but that the Association of Manufacturers will foot the bill."
-- Umberto Eco, Foucault's Pendulum
|
|
|
|
|
Thanks, this was the solution
modified 12-Sep-18 21:01pm.
|
|
|
|
|
I want to insert my own warnings into code, to leave a fixed
record of things I have delayed doing. For example, I have
a function that converts a block of data into ASCII text, for
storage. However, the first quick and nasty implementation does
not get very good compression performance. So I want to insert
a line in the function saying something like:
#pragma message(__FILE__ " (" __LINE__ "): warning C1234: " \
"Need to improve the compression here.")
However I cann't get it to work right (__LINE__ is a number,
and #__LINE__ doesn't seem to work in this context.)
I seem to remember something here about this, but I couldn't find
it.
Any suggestions would be most helpful.
|
|
|
|
|
The # operator only works in a macro definition, not a #pragma , so do something like:
#define MAKESTR(x) #x
#pragma message "foo" MAKESTR(__LINE__) "bar"
--Mike--
"I'd rather you just give me a fish today, because even if you teach me how to fish, I won't do it. I'm lazy." -- Nish
Just released - 1ClickPicGrabber - Grab & organize pictures from your favorite web pages, with 1 click!
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
None of the suggestions offered worked, so I asked the
same question on comp.lang.c++.moderated, and they
pointed out that you need to double expand the __LINE__
macro for some subtle reasons. Anyways, for future
readers interested in how to do it, here is what I
now use:
#define STRINGIZE(x) #x
#define EVAL_STRINGIZE(x) STRINGIZE(x)
#define WARN(warning) message(__FILE__ "("EVAL_STRINGIZE(__LINE__)"): warning C1000: " warning)
Put these macros in a general project header included
everywhere (I guess you could even put them in stdafx.h
if you are so inclined, personally, all my projects have
a file called Project.h that is the first included in every
header.)
Then whenever you want to issue a warning during compile
time just use this:
#pragma WARN("Using bubble sort here, a better algorithm is required")
which will appear on your compiler output (and task list if
using VC .Net), which you can F4 through. When you fix the
error, just remove the pragma.
|
|
|
|
|
ASSERT(0 && "I have to improve this code");
|
|
|
|
|
I have a dialog based app that I want to start maximized but it just doesn't want to happen. I'm using the following code:
BOOL CToolTabsDlg::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style &= WS_MAXIMIZE;
return CDialog::PreCreateWindow(cs);
} Does this not work on dialogs or am I doing something completely wrong?
Something I just tried was putting a breakpoint on the cs.style statement just to see if the value changed and my program didn't even break. Obviously I'm doing something wrong but I'm not sure what it is.
Any help would be much appreciated.
- monrobot13
|
|
|
|
|
Add this to your OnInitDialog() :
PostMessage (WM_SYSCOMMAND, SC_MAXIMIZE);
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Thanks Ravi!
Is there a reason why the PreCreateWindow function wouldn't work? I'm wondering.
- monrobot13
|
|
|
|
|
use ::IsWindow(m_hWnd) to see if the window is OK in PreCreateWindow()
includeh10
|
|
|
|
|
Don't do it in precreate window.
write the following code in OnInitDialog function
BOOL MyDialog::OnInitInstance()
{
//Some code generated by the framework
ShowWindow(SW_MAXIMIZE);
return TRUE;
}
This will work.
|
|
|
|
|
monrobot13 wrote:
cs.style &= WS_MAXIMIZE;
should be
cs.style |= WS_MAXIMIZE;
at the very least. "&= " removes the WS_MAXIMIZE bit.
Software Zen: delete this;
|
|
|
|
|
Hi.
I would like to know is it possible and how to internally (program) resize a dialog box. For example:
---------------------
| |
|edit box |
|button |
| |
---------------------
Given a dialog box with that looks like the one above, I would like to programmably resize it.
--------------------
| |
|edit box |
|button |
| |
| |
| |
| |
--------------------
In other words, I would like to expand and contracts the dialog frame.
Thanks,
Kuphryn
|
|
|
|
|
|
|
I've tried to load a bitmap sequence using VB.NET and .NET framework. Here's the spec:
(a) class Bitmap("filepath")
(b) 7kB per bitmap (or frame)
(c) 588 bitmaps in sequence - Therefore, preloading the entire sequence is impossible (will consume over 250MB RAM!!)
(d) 15 frames per second
The basic process is as follows:
(a) preload a certain number of bitmap
(b1) start a thread to start rendering pre-loaded bitmap to screen
(b2) at the same time, start another thread to continue loading the rest of the sequence into memory (bitmaps)
However, even at a low 15 frames per second, the buffer is emptied too fast and frames loading (b2) is not able to keep in pace with frames rendering (b1)... But on the other hand, pre-load the entire sequence is just impossible!!? I wonder how they do this in Windows Media Player or Adobe Premier. Premier was able to render my bitmap sequence without any jitter on the same machine!? So, can I conclude that "class Bitmap" constructor from .NET framework is not very efficient in loading bitmap? Should I try CBitmap and build a MFC app to test it out? Or should I build a DirectDraw SDI...?
What can I do? I was considering using Quicktime player (downloaded Quicktime SDK and got the sample working). But this option requires that we go thru the proper licencing process... so screw that...
Thanx!
|
|
|
|
|
forgot my email... my email is:
norman_lm_fung@hotmail.com
thanks!
norm
|
|
|
|
|
You can preload the images if you would like, even though you have 250 MB loaded into the heap, it will simply be paged, so you will not really be using 250 MB of ram. When the system needs the memory page that contains the next set of images, it will swap the page into memory.
The media players use a compressed form of the images and therefore preload all of the data (images) into memory, then render the frame when it is time to be displayed or at least pre-render it in a cache waiting to be displayed.
What I would suggest for you, if this is a possibility, is to convert your images to an AVI then use one of the media players to display the AVI.
Good Luck
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|