|
Use GetFocus() for this.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
GetFocus returns a handle of the window but how can i know that this is the window i want or not?
/\|-||\/|/\|)
|
|
|
|
|
if (GetFocus() == GetDlgItem(IDC_MY_WINDOW)) {
}
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
it didnt work
/\|-||\/|/\|)
|
|
|
|
|
because you don't use it properly...
post your code
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
if (Lp.checkcon2() && (GetFocus() == GetDlgItem(IDD_AUTOMATIC)))
forget about Lp.checkcon2() it is always true
/\|-||\/|/\|)
|
|
|
|
|
hum, what about GetFocus() == m_hWnd ??
moreover, are you sure that GetDlgItem() doesn't return NULL ?!
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
i received this error message
error C2446: '==' : no conversion from 'struct HWND__ *' to 'class CWnd *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
error C2230: '==' : indirection to different types
Error executing cl.exe.
maybe it doesnt work when this is not the main dialog?
/\|-||\/|/\|)
|
|
|
|
|
GetDlgItem() is returning NULL
WHY?
/\|-||\/|/\|)
|
|
|
|
|
Halawlaws wrote:
WHY?
Because no such control having an id IDD_AUTOMATIC exists at the point in which GetDlgItem() is being called.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
|
Why would that surprise you?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Halawlaws wrote:
if (Lp.checkcon2() && (GetFocus() == GetDlgItem(IDD_AUTOMATIC)))
I've yet to figure out why people do this and then complain that it does not work.
To figure out exactly which part of the above statement is not working, break it up into manageable pieces, like:
CWnd *pWnd1 = GetFocus();
if (pWnd1 != NULL)
{
CWnd *pWnd2 = GetDlgItem(IDD_AUTOMATIC);
if (pWnd2 != NULL)
{
if (pWnd1 == pWnd2)
...
}
} At this point, you should know the return value of GetFocus() and GetDlgItem() and whether they are equal or not.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Halawlaws wrote:
...but how can i know that this is the window i want or not?
Because you already have a handle to that window. Just compare the two.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
what is it?
/\|-||\/|/\|)
|
|
|
|
|
GetFocus() returns a handle that you can compare with the your window's handle.
If it is, your window has the focus.
Marc Soleda.
... she said you are the perfect stranger she said baby let's keep it like this... Tunnel of Love, Dire Straits.
|
|
|
|
|
Hi
I got a package of dlls, some compiled as:
- "MFC Extension DLL (using shared MFC DLL)"
- and other as "Regular DLL using shared MFC DLL"
I want to compile myown application which uses those DLLs, in "Use MFC in a Static Library" mode.
but i'm getting the following linking errors:
Linking...
msvcrt.lib(MSVCRT.dll) : error LNK2005: "public: int __thiscall type_info::operator==(class type_info const &)const " (??8type_info@@QBEHABV0@@Z) already defined in libcmt.lib(typinfo.obj)
msvcrt.lib(MSVCRT.dll) : error LNK2005: __setmbcp already defined in libcmt.lib(mbctype.obj)
msvcrt.lib(MSVCRT.dll) : warning LNK4006: "public: int __thiscall type_info::operator==(class type_info const &)const " (??8type_info@@QBEHABV0@@Z) already defined in libcmt.lib(typinfo.obj); second definition ignored
msvcrt.lib(MSVCRT.dll) : warning LNK4006: __setmbcp already defined in libcmt.lib(mbctype.obj); second definition ignored
Creating library Release/IFL_Sample.lib and object Release/IFL_Sample.exp
nafxcw.lib(nolib.obj) : warning LNK4098: defaultlib "mfc42.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
nafxcw.lib(nolib.obj) : warning LNK4098: defaultlib "mfcs42.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
libcmt.lib(crt0init.obj) : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
Release/IFL_Sample.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
Thanks in advance!
Yael
|
|
|
|
|
In Project Settings->Link Tab
There will be Ignore Default Libraries checkbox. check that and again rebuild ur code. Give it a try...
Bye
Cool Ju
|
|
|
|
|
I have a function MessageBubble(CString someMessage) which is located in the main dialog class of my app(MFC). I want to be able to call this function from any of the child objects. How would I go about doing this? Thanks.
|
|
|
|
|
If it's really in the main dialog you'll need to declare a public method and call it from the child one:
CYourMainDlg* pMainDlg = GetParent();
pMainDlg->YourPublicMethod();
Marc Soleda.
... she said you are the perfect stranger she said baby let's keep it like this... Tunnel of Love, Dire Straits.
|
|
|
|
|
Hi
I got a package of dlls, some compiled as:
- "MFC Extension DLL (using shared MFC DLL)"
- and other as "Regular DLL using shared MFC DLL"
I want to compile myown application which uses those DLLs, in "Use MFC in a Static Library" mode.
but i'm getting the following linking errors:
Linking...
msvcrt.lib(MSVCRT.dll) : error LNK2005: "public: int __thiscall type_info::operator==(class type_info const &)const " (??8type_info@@QBEHABV0@@Z) already defined in libcmt.lib(typinfo.obj)
msvcrt.lib(MSVCRT.dll) : error LNK2005: __setmbcp already defined in libcmt.lib(mbctype.obj)
msvcrt.lib(MSVCRT.dll) : warning LNK4006: "public: int __thiscall type_info::operator==(class type_info const &)const " (??8type_info@@QBEHABV0@@Z) already defined in libcmt.lib(typinfo.obj); second definition ignored
msvcrt.lib(MSVCRT.dll) : warning LNK4006: __setmbcp already defined in libcmt.lib(mbctype.obj); second definition ignored
Creating library Release/IFL_Sample.lib and object Release/IFL_Sample.exp
nafxcw.lib(nolib.obj) : warning LNK4098: defaultlib "mfc42.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
nafxcw.lib(nolib.obj) : warning LNK4098: defaultlib "mfcs42.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
libcmt.lib(crt0init.obj) : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
Release/IFL_Sample.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
Thanks in advance!
Yael
|
|
|
|
|
Hi, This is a really basic question but I just want to be doubley sure. The difference between BOOL* whatever; and BOOL *whatever;
?
|
|
|
|
|
no difference to the compiler.
both are pointers to BOOL. some people like to put the * next to the pointed-to type to emphasize that the * is actually part of the variable's type. some like it near the variable name.
Cleek | Image Toolkits | Thumbnail maker
|
|
|
|
|
even the same to BOOL*whatever , BOOL * whatever , and
BOOL<br />
*<br />
whatever
...
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
I wrote a small method that will strip all the spaces from the end of an basic_string up until is reaches text.
So a string like "This is a test " .. would be
"This is a test" once the method is complete.
Something is not working correctly though.
typedef std::string::size_type size_type;
std::string AnyString;
char MySpace = ' ';
size_type CHAR_INDEX;
CHAR_INDEX = AnyString.size();
for (size_type i = CHAR_INDEX;AnyString[i]== MySpace; i--)
AnyString.erase(i,1);
The above source only works when stripping one space, like from
"2003 " to "2003".
If i have "2003 ", it does not work. Can anyone tell me what i am doing wrong here?
|
|
|
|