|
I mean, ((CWmApp *)AfxGetApp())->m_WMIDE.m_bLaunchedFromIDE is not returning the correct value,
where as theApp.m_WMIDE.m_bLaunchedFromIDE is returning right value.
Appu..
"My blood group is not B+.But I have it my blood"
|
|
|
|
|
If you add the following:
ASSERT( static_cast<CWmApp*>(AfxGetApp()) == &theApp );
1. Does is compile?
2. If it compiles does the ASSERT fire at runtime in a debug build?
Steve
|
|
|
|
|
AfxGetApp() should only be used to access CWinApp members. Casting the CWinApp pointer will not do what you want.
If it were me and I needed access to the data from anywhere in the app, I would create a separate .h file and make it global OUTSIDE the scope of the app class, along with appropriate Get/Set functions you might deem necessary.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
There is nothing wrong with downcasting assuming CWmApp is derived from CWinApp .
Steve
|
|
|
|
|
I'm kicking a dead horse here, but...
If "theApp" is the one-and-only CWinApp object in the MFC application, then both methods should
work the same.
What happens if you use a more safe cast?
CWmApp *pApp = DYNAMIC_DOWNCAST(CWmApp, AfxGetApp());
if (pApp)
{
pApp->m_WMIDE.m_bLaunchedFromIDE ...
}
Is pApp NULL after the cast?
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
NiceNaidu wrote: ((CWmApp *)AfxGetApp())->m_WMIDE.m_bLaunchedFromIDE
... This is not working.
Is CWmApp a CWinApp -derived class?
What type of pointer is AfxGetApp() returning?
NiceNaidu wrote: can we directly use the theApp instance to access its member variables ??
Yes.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Sorry friends for not responding to your replies.
It worked fine with theApp.
DavidCrow wrote: Is CWmApp a CWinApp-derived class?
Yes,CWmApp is a CWinApp-derived class.
Thank you all for all your replies.
Appu..
"My blood group is not B+.But I have it my blood"
|
|
|
|
|
Did you ever figure out what type of pointer AfxGetApp() is returning?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
how to use this property to set the minimum size of a resizable window?
nathan
|
|
|
|
|
You need overrid CWnd::OnGetMinMaxInfo .
Sample code would look like this,
void CMyWnd::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
lpMMI->ptMinTrackSize.x = 300;
lpMMI->ptMinTrackSize.y = 200;
}
Prasad
MS MVP - VC++
|
|
|
|
|
Hi all,
I developed an application as an installation in VC++. I am using Visual Studio 2005. The installation works perfectly. The problem arises when I am trying to install the application in a system without .net framework. Then the installation fails. This may be because of some additional dependency of the installation. How can I remove this additional dependency? The requirement specifies that no additional dependency should be there...
Can anybody please help me...
Thanks in Advance.....
|
|
|
|
|
You need to run vcredist_x86 on the target machine, this will install the required dll's. You can download it from here[^].
|
|
|
|
|
Did you not ask this[^] question yesterday? Or is that you've developed a new application today? Well, it applies for all new applications that you develop.
|
|
|
|
|
I thought the question looked familiar...
|
|
|
|
|
thanks Mark:
i have these code in OnInitDialog
CTreeCtrl * tree = new CTreeCtrl();
CRect rect = new CRect(10, 10, 200, 200);
bool suc = tree->Create(WS_THICKFRAME, rect, this, IDC_TREE);
because WS_THICKFRAME, i can resize the tree control in run time
how can i override the OnSize method of this tree control?
also, how can i prevent the user from dragging the top and left border of the tree control to resize it?
Thanks!
|
|
|
|
|
nathan7 wrote: i have these code in OnInitDialog
CTreeCtrl * tree = new CTreeCtrl();
Why is this not a member of your dialog class?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
nathan7 wrote: Mark Salsbery pls come in
Hola.
nathan7 wrote: bool suc = tree->Create(WS_THICKFRAME, rect, this, IDC_TREE);
You may want (or need) the WS_VISIBLE, WS_CHILD, and WS_BORDER flags as well, plus any treeview-
specific styles.
nathan7 wrote: how can i override the OnSize method of this tree control?
Derive a class from CTreeCtrl and add a WM_SIZE handler there.
nathan7 wrote: also, how can i prevent the user from dragging the top and left border of the tree control to resize it?
I believe you can use the WM_SIZING message. This would be done in the derived class as well.
Also, see David Crow's reply - you'll probably want to deal with the scope of your "tree"
variable!
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
|
Hi.
This code based on
Building Browser Helper Objects with Visual Studio 2005
Tony Schreiner, John Sudds
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ietechcol/cols/dnexpie/expie_hello_bho.asp
but i trying to manipulating the dom , with other javascript code. how can i do it,
this is the code ;
Code:
void CUygulama::QPencereGoster(IHTMLDocument2* pDocument)
{
HWND hwnd;
HRESULT hr = m_spWebBrowser->get_HWND((LONG_PTR*)&hwnd);
if (SUCCEEDED(hr))
{
// Javascript goes here
}
}
And this is the javascript
Code:
function popupPage() {
var page = "http://www.webservisidomaini.com/panel.php";
windowprops = "location=no,scrollbars=no,menubars=no,toolbars =no ,resizable=no,width=600 height=300";
window.open(page, "Popup", windowprops);}
how can i implement this js to c++ application. i think this need dom scripting. how can i do this ?
in this sample,
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ietechcol/cols/dnexpie/expie_hello_bho.asp
please look for Manipulating the DOM section.
Example BHO code removing images from active web page, now i want to implement other js code, for like this example . How can i do this. any suggestions, resources i 'm looking for.
Thanks
|
|
|
|
|
Hi everyone. I'm new to Visual C++ (experienced with C++) and I'm not sure if my question is a Visual C++ problem. I want to develop a program very similar to a find feature in a web browser, BUT with very specific search features. I'm wondering if any of you guys know some codes that would allow a C++ application to look through a set of data in a web browser and return something (if there's a match). Or if this would be easier to make if it was an IE plug in. Hope to hear from someone soon!
|
|
|
|
|
|
I am trying to read values from from a text file using sscanf. The file contains numberic values but I want to read them in as strings, each line at a time. Values are listed as shown:
example text file:
1.000 2.000
3.000 4.000
5.000 6.000
...
Here is the code.
CStdioFile LFileData;<br />
...<br />
LFileData.ReadString(LCStrReadStr);<br />
MessageBox(LCStrReadStr);<br />
sscanf(LCStrReadStr, "%s %s", LCStrTemp1, LCStrTemp2);
The problem is that both LCStrTemp1 and LCStrTemp2 is getting the value of the 2nd column only. The first column is lost. I outputted LCStrReadStr using MessageBox to make sure it was correct. It is. So that problem is in sscanf. Why am I not getting the right values?
Thanks in advance.
|
|
|
|
|
What are LCStrTemp1 and LCStrTemp2?
They don't point to the same place do they?
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
They are both CString declared like this. So they shouldn't be pointing to the same thing.
CString LCStrTemp1;<br />
CString LCStrTemp2;
|
|
|
|
|
You'll need to pass char* arguments to sscanf()...
char TestString[] = "1.000 2.000";
char StrTemp1[80];
char StrTemp2[80];
sscanf(TestString, "%79s %79s", StrTemp1, StrTemp2);
CString LCStrTemp1 = StrTemp1;
CString LCStrTemp2 = StrTemp2;
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|