|
Doh - completely missed that one in the documentation!
That works a treat - thanks for that.
*Martyn slopes off to check that his contact lenses are in the right way round*
|
|
|
|
|
i want to make a program like MS Word, but the blank paper can just insert paragraph text, images and i can control them like objects by using property in them. Would you tell me the library help me to make it and the samples about my project? Thank you.
pmask
|
|
|
|
|
|
i can't insert images and paragraph text to richedit control. Can you help me
|
|
|
|
|
Check out MFC Samples for rich edit. It is somewhat complex when it comes to the pictures and controls, but MSDN examples cover most of it. Plus I remember couple of yers ago MS published source for WordPad.exe as an MSDN example - this is exactly what you are looking for.
|
|
|
|
|
Why not use MS Word itself via automation? Alternatively use a web browser control (derive your view class from CHTMLView.)
|
|
|
|
|
Thank for your help. i has made it
|
|
|
|
|
i calculated point of intersection of two lines in Visual C++ (SDI). I've
used conventional mathematical formula for that. When i try to draw a dot
on that obtained point that is not exactly where the two lines visually cut each other.
Reason may be that on screen, point is shown in pixels and point obtained
from mathematical formaula is not exaclty the same.. How can i convert that
coordinate point to its equivalent pixels...
one more thing that how can i roundoff a double or float value to a long int
|
|
|
|
|
I think your problem is roundoff...here is how I do it. However, I am not a Software Engineer...there may be a better way
int round(double num)
{
double y, n;
y = modf(num, &n );
if(y >= 0.5)
n++;
return (int)n;
}
Gary Kirkham
A working Program is one that has only unobserved bugs
|
|
|
|
|
Under normal conditions, the calculated point should show in the right spot --your calculations should be far more accurate than the screen resolution. Si, maybe the code has some little bug.
As for the roundoff thing, long int li=(long int)(d+0.5) should do.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
You will most likely need to translate your coordinates to the view's reference frame. Simply offset the point as far as your point of reference for the calculation is from the origin of the view's coordinates in both X and Y. (0,0) is the upper left corner of the view if I can recall...
For round-off, you can simply cast it as follows:
double dblData = 1.8787281;
long int liData = static_cast<long int>(dblData);
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
Nitron wrote:
For round-off, you can simply cast it as follows:
double dblData = 1.8787281;long int liData = static_cast<long int="">(dblData);
scrap that, i'm an idiot! That will truncate the double!
Sorry!
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
I am developing a MFC SDI Application connecting to a SQL Server database through ADO.
The problem in hand is that if multiple users are connected to the database and if one user makes any change in database, a message describing the change need to be propogated to all other connected users. It will depend upon user if he want to load this change or not.
Any ideas on how to do this? If you guys could provide me some sample code that would be great
|
|
|
|
|
I'm having difficulty resizing a Metafile. I tried using StretchBlt without any luck. Any ideas,
Thanks
|
|
|
|
|
Metafiles are lists of GDI primitives. They should 'draw to fit' without any difficulty. StretchBlt is used to stretch/draw one bitmap onto another, and doesn't work with metafiles. Could you post your drawing code for the metafile?
Software Zen: delete this;
|
|
|
|
|
This article of mine has example code for displaying a metafile form the clipboard.
http://www.codeproject.com/useritems/dib_metafile.asp[^]
Roger Allen
Sonork 100.10016
This is a multiple choice question, choose wisely
Why did the hedgehog cross the road?
A: To show he had guts?
B: To see his flat mate?
|
|
|
|
|
Quick question: what is the major difference between bool and BOOL and when should I use one or the other?
- monrobot13
|
|
|
|
|
bool is a native type in C++, like int and float, and 'true' and 'false' are the only values it accepts (I believe you need to specifically cast an int, if possible at all). BOOL is generally a #define or typedef of an int, with TRUE and FALSE also being #defined
bool gives you better type checking on compilers that support it, BOOL will work anywhere but with weaker checking. if you can, use bool (VC6+ works fine with it)
|
|
|
|
|
Functionally, bool and BOOL are identical. bool should be preferred since BOOL is a legacy from a time when bool was not part of the language. It is necessary to use it with the Windows APIs, though, as I say, they are largely interchangable.
One difference though is that sizeof(bool) = 1 and sizeof(BOOL) = 4 (generally speaking).
This is particularly relevant when you need an array of boolean flags. For example,
bool lineChanged[2048];
takes 75% less memory than
BOOL lineChanged[2048];
|
|
|
|
|
bool is a true variable types just like int or float and takes values of true or false.
BOOL takes TRUE (defined as 1) or FALSE (defined as 0) or an integer value with 0 being false and non zero being true.
BOOL is a defined type of int. Therfore you can make a BOOL = int no problem and vise versa.
BOOL will aslo be 32 bits in size where as bool is supposedly only one bit in memory.
|
|
|
|
|
If your development is in the win32 environment, you should use "BOOL".
"BOOL" is a data type of win32, so we often use it. And "bool" is a C\C++ data type. If you are using a pure C\C++ compiler, you can use "bool". Now everything is ok. God bless you.
stanley
|
|
|
|
|
Im dipping my toe into the murky waters of i/o completion ports.
My app presently use threads to handle client connections , on for each connection. Naturally i now want to use i/o completion ports.
Internally i do a lot of database access using odbc. Is there any way to link a SQLExec statement to a completion port ? Theres lots of examples of using sockets but nothing about databases. Doing an async read still involves polling to test the status of the executing statement, which will still mean using multiple threads.
I cant believe theres not support for this but ,as ever, the MS docs are very light on the subject.
Dave
|
|
|
|
|
Dave-B wrote:
Internally i do a lot of database access using odbc. Is there any way to link a SQLExec statement to a completion port ? Theres lots of examples of using sockets but nothing about databases. Doing an async read still involves polling to test the status of the executing statement, which will still mean using multiple threads.
Simple multithreading suits your application which uses SQLExec, IOCP is for overlapped reads/writes with SQL does not support.
|
|
|
|
|
Norm Almond wrote:
Simple multithreading suits your application which uses SQLExec, IOCP is for overlapped reads/writes with SQL does not support.
As you state that SQL does not support overlapped read/writes, presumabley this means that IIS etc, are not truly scallable if the script uses database access . Thats a real bummer in the real world, though as i will have to have multi threads 'hanging around' for the database to return results.
BTW thanks for your IOCP code.
Dave
|
|
|
|
|
With IOCP you have some worker-threads, normally I go for 2 - 4 four for each CPU in the machine.
If everything is running fast and not waiting for anything, your completion port only uses a single thread for each CPU, but if one of those threads is "suspended" waiting for disk I/O, a database or something else, and a new socket connection is opened, the completion port uses a new thread to handle that connection.
Basically IO Completion Ports is a mix between a threadpool and async. I/O
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|