|
|
I just downloaded the Perl Editor by: DzSoft and I love there menus.
They look like XP style...
How is this accomplished...I have drawn many a ownerdrawn menus and cannot figure out how they get the shadow effect...? in Windows 98 anyways.
I'm thinking create your own entire menu system from Cwnd's...?
Just curious...thanx!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
i actually don't know which shadow effect that you really would like to have.. but give this a try:
http://www.codeproject.com/useritems/MenuXP2.asp
have a nice one
bernhard
Sometimes I think the surest sign for intelligent life elsewhere in
the universe is that none of them ever tried to contact us.
|
|
|
|
|
Thanx....I'll check it out.
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
|
Thats the one...I want to know how they do that under win98...I have tried everything to paint ownerdraw menus that way and cannot overwrite the edges/borders of Windows menus. So i'm assuming they don't use the default windows menus and if they do I want to know how they do it...
Cheers!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
Hello,
I have a dialog based app. It has a few controls on it and I also bitblted an image to it in OnPaint(). I have some edit boxes and other controls on the dialog that need to go on top of the image but when it gets painted the images is painted over them. I have tried sending a WM_PAINT message to the controls but this doesn't work. Any ideas?
Thank you,
Susan
|
|
|
|
|
Put an image control on the dialog. Then change the tab order as the control to become the first; resize it from code to fill the entire dialog box area and associate the bitmap to it.
Good luck!
rechi
|
|
|
|
|
Try handling the WM_ERASEBKGND message instead of OnPaint()
-Jack
To an optimist the glass is half full.
To a pessimist the glass is half empty.
To a programmer the glass is twice as big as it needs to be.
|
|
|
|
|
by the way..
i don't think that you normally force redrawing of anything in mfc with sending WM_PAINT - messages to the window.. you normally Invalidate that window (controls are windows too).. then it is forced to redraw itself.
m_edit.Invalidate();
i am no expert, but i think this is the proper MFC way.
Bernhard
Sometimes I think the surest sign for intelligent life elsewhere in
the universe is that none of them ever tried to contact us.
|
|
|
|
|
Make sure that you have the CS_CLIPCHILDREN style set for your dialog. When you ask for a DC for that window, it will automatically clip the children rectangles from where you are allowed to paint, and you will no longer paint over your controls.
You can set this style for your dialog after it has been created by doing this:
LONG lStyle = ::GetClassLong(hDlg, GCL_STYLE);
lStyle |= CS_CLIPCHILDREN;
::SetClassLong(hDlg, GCL_STYLE, lStyle);
By the way, you should paint the bitmap in the WM_ERASEBKGND message instead. This will reduce any flicker that may appear, and it is a fundamentally better place to perform that action.
|
|
|
|
|
I've created a dialog based application and i've put a WebBrowser control inside.
The application fails to create the dialog and i would like to know how to fix the bug.
rechi
|
|
|
|
|
Can you be a bit more specific ?
bogdan_rechi wrote:
The application fails to create the dialog
Is it in the main dialog or what ?
Regardz
Colin J Davies
Sonork ID 100.9197:Colin
I think it's interesting that we often quote each other in our sigs and attribute the quotes to "The Lounge". --- Daniel Fergusson
|
|
|
|
|
Is not about an error.
The execution of dlg.DoModal(), where dlg is the main dialog, simply has no effect.
rechi
|
|
|
|
|
When you created your app using appWizard (i'll assume) did you specify ActiveX controls...?
Did you add the control as an activeX control...?
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
No, i didn't specify "ActiveX controls".
Meanwhile the application has grown and i have to add the control without the wizard's support.
rechi
|
|
|
|
|
Thats probably whats causing your problems than.
It's not too much work to add activeX support though.
Create a small test app WITH activeX support and just find the functions.
AfxOleInit or something I think similar to this...probably a few more things too.
Cheers!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
I have tried this.
The only difference i found is "#include afxdisp.h" in stdafx.h, which has no effect in my current application. It has to be something else.
rechi
|
|
|
|
|
It's always a pain to add options like ActiveX after the project has been created.
I would suggest using app wizard..much quicker and easier.
Create a new project using AcitveX controls and just copy your old code over into the new project.
Cheers!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
Unfortunately, this seems to be the only option for the moment.
Thanks!
rechi
|
|
|
|
|
If nothing else is working...you might as well and see if it helps...
This can be a pain in the a$$ I know...especially if your like me and you modify and remove all that MFC junk comment shite. However consider yourself lucky your not in dos and take full advantage of the windows clipboard.
Lemme know how it turns out...i'm curious to know if thats whats wrong.
Cheers!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
When i created the test application i missed the line
AfxEnableControlContainer();
in the application's InitInstance() method.
Adding this will make the stuff just "running like hell".
rechi
|
|
|
|
|
There is a addin (at least under VC++ 6 there is)
Project - Add To Project - Components and Controls
In the Visual C++ Components folder find ActiveX Control Containment Component
This should make your WebBrowser work.
- Matt Newman / Anti-Linux Activist
-Sonork ID: 100.11179:BestSnowman
†
|
|
|
|
|
To fix this problem I dynamically create (using the new operator) the web browser control member variable in my OnInitDialog()
This fixes the problem for me.
"Hey man, Taliban, Tali me Banana."
|
|
|
|
|
_bstr_t str;
str= "SELECT * FROM Tennis ORDER BY Name";
if( pDoc->m_pConnection==NULL )
return ;
_variant_t vRecsAffected(0L);
try
{
pRecordSet = pDoc->m_pConnection->Execute( str, &vRecsAffected, adOptionUnspecified);
.
.
.
I recevie run time error for Execute() line,in output window:
Exception thrown for classes generated by #import
Code meaning = Unknown error 0x800A0BB9
Source = ADODB.Connection
Description = Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|