|
wrote:
I am trying to write on a label.
Why you are trying TextOut on label ??
Simply use SetWindowText for that label if using MFC.
For win32 use SendMessage(handle,WM_SETTEXT,...);
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
As you are working with CDC you can simply set the text color using
SetTextColor() API which takes COLORREF as parameter.
The secret of life is not enjoyment
but education through experience.
- Swami Vivekananda.
|
|
|
|
|
Any particular reason why you are writing in the OnEraseBackground() method? Why not do it in the OnPaint() method?
"The largest fire starts but with the smallest spark." - David Crow
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Thats what I saw in a sample program, so I used OnEraseBackground.
I did get TextOut to work , thanks everybody.
I'm drawing on the label because I drew a histogram on it and want to put values for the tick marks on the axes. Maybe there is a smarter control to use instead ofa label?
thanks
sb
|
|
|
|
|
you can use WM_PAINT instead WM_ERASEBKGND
<br />
void CAnswer::OnPaint()<br />
{<br />
CPaintDC dc(this);<br />
<br />
dc.SetBkMode(0);<br />
dc.TextOut(50,42,"aaaa",30);<br />
}<br />
whitesky
|
|
|
|
|
Hi,
I tried several things to launch an external program :
<br />
CString command("\"D:\\USER\\PSPad editor\\PSPad.exe\" \"log.txt\"");<br />
system(command);<br />
The above code launches a command prompt that closes instantly and doesn't launch PSPad.
<br />
CString command("cmd /C \"D:\\USER\\PSPad editor\\PSPad.exe\" \"log.txt\"");<br />
system(command);<br />
The above code launches a command prompt that launches PSPad but the calling dialog looses focus until I close PSPad.
Actually I'd like to launch my program just like double clicking on "log.txt" would do (without a command prompt would be great). Is it possible ?
Thanks !
|
|
|
|
|
Tnarol wrote: I'd like to launch my program just like double clicking on "log.txt" would do (without a command prompt would be great). Is it possible ?
Use ShellExecute(...) or CreateProcess(...) API's for launching external application's
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
Tnarol wrote: Is it possible ?
yes
use ShellExecute
nave
|
|
|
|
|
|
|
COOL ! It works great !
Thanks everyone.
|
|
|
|
|
And you suggested this the other day!!!
Your previous post[^]
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
|
|
_AnShUmAn_ wrote: And you suggested this the other day!!!
COOL !!!
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
i have a big class that uses com methods. i would like to avoid a lot of "ifs" in it, so i wanted to replace standard hresult checking with try-catch block. there are some articles on code project about that, but the problem is that i have to use VS6 for it. That causes the restriction - i don't have CAtlException.
I also noticed that constructing function that throws something (void function(something) throw(type){...} ) is not doable, because such construction is ignored by the compiler - i get a warning with such a message...
Concluding, my question is - how can i write a class that can replace hresult with exception stuff in VS6 :].
thanks for your ideas in advance
-- modified at 9:18 Wednesday 14th June, 2006
|
|
|
|
|
Perhaps macros are suitable for you, something like this:
#define CHECK(expr) { if((expr) != S_OK) throw MyException; };
where MyException is your own class. (In case of STL, you can derive it from std::runtime_error ).
A sample usage:
try
{
CHECK(CoCreateInstance(...));
. . .
}
catch( const MyException & ex)
{
}
Now you do not have if s. Anyway, within exception handler you have to provide a method for releasing objects created successfully earlier.
|
|
|
|
|
|
as i said... i use VS6 and the article you mention uses CAtlException which is not available there...
I will try the first solution with macro as well
any more ideas?
|
|
|
|
|
|
you're certainly right, but throwing stuff has restrictions in VS6... when i create a function like this
some_type function(some_arguments) throw(some_type) {...} i receive warning C4290: C++ Exception Specification ignored. it seemslike you cannot throw anything with a function in VS6 using this expression :/. and that is my problem. how can i do this in VS6?
thanx in advance
|
|
|
|
|
That's an exception specification, not an actual throw of an exception. It's saying "this function might at some point throw an exception of type some_type " Take it out, it's ignored by the compiler anyway.
--Mike--
Visual C++ MVP
LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ
VB > soccer
|
|
|
|
|
I'm learning how to use Visual Studio 2005 and how to implement GUI design in C++. In the past, I've only programmed in command prompt style (basically using emacs and then gcc to compile, etc.)
Now that I'm learning to do GUI design using Visual Studio 2005 I was wondering if anyone knows and can suggest a book for beginner GUI design.
That would be great!
Thanks
Kitty5
|
|
|
|
|
A book not but I suggest you work with the MFC first (Microsoft Fundation Classes). If you are using the Express edition of Visual Studio 2005, they are not supplied with unfortunately.
After you get you firm grip over MFC, it is always nice to dig into the details of WIN32 API. To know how MFC does the job.
Cédric Moonen
Software developer
Charting control
|
|
|
|
|
The Windows Interface Guidelines for Software Design[^], and its replacement, The Windows User Experience[^].
Given the amount of Broken GUI out there, everyone that writes code should read UI design books of some sort. (Geeze, even all of text-based Linux GUIs that I have to use STILL do not allow Shift+Tab to navigate controls backwards...) Those two books are well worth reading cover-to-cover.
Peace!
-=- James 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! DeleteFXPFiles & CheckFavorites (Please rate this post!)
-- modified at 9:55 Wednesday 14th June, 2006
|
|
|
|