|
I ve got a DialogBox with one ComboBox and 2 EditBox.
If the user choose for example : "dog"in the combobow i want that one of the edit can not be edited (set read only)..
Fot that i use that :
void CDialogBoxClass::OnSelchangeComboEvent()
{ UpdateData(true);
if(m_combo=="dog")
m_editctrl.EnableWindow(FALSE);
else
m_editctrl.EnableWindow(TRUE);
}
The problem is that this function start before the new value of m_combo would be assigned in the comboBOx.... if someone could help me
Frackasse
|
|
|
|
|
I'm guessing that you are calling SetCurSel() in the dialog's OnInitDialog() method. Add a variable m_bInitializing of type bool to your dialog class and set it to false in the constructor. At the beginning of OnInitDialog(), set it to true, and at the end of OnInitDialog(), right before the return statement, set it to false.
void CDialogBoxClass::OnSelchangeComboEvent()
{
CString str;
if (! m_bInitializing)
{
m_comboctrl.GetWindowText(str);
if ("dog" == str)
m_editctrl.EnableWindow(FALSE);
else
m_editctrl.EnableWindow(TRUE);
}
}
|
|
|
|
|
i tried what u write but it is exactly the same result... maybe u don t understand my question : if i use this :
void CAddEvent::OnSelchangeComboEvent()
{ CString str;
m_eventcontrol.GetWindowText(str);
MessageBox(str);
}
The messageBox returns me the old value of the CString in the comboBox (means not the new value the user has choosen but the value he wants to change) so the problem is when i want to know if(str=="dog") str is not the right CString....
Frackasse
|
|
|
|
|
The CBN_SELCHANGE notification message is sent when the user changes (note the past tense here) the current selection in the list box of a combo box. Not seeing the rest of your code, I can only hypothesize. Another solution might be:
CString str;<br />
int nIndex = m_comboctrl.GetCurSel();<br />
m_comboctrl.GetLBText(nIndex, str);
|
|
|
|
|
|
How to covert CString to TCHAR and CString to LPCWSTR?
Where can I read about this?
|
|
|
|
|
If you need to copy a CString object to an array of TCHAR you could do:
<font color="green">
</font>
TCHAR *czArray = NULL;
<font color="green">
czArray = new TCHAR[strText.GetLength() + 1];
_tcscpy(czArray, (LPCTSTR)strText);
<font color="green">
delete [] czArray;
The CString object has the LPCTSTR operator cast, so you can just cast your CString object to a LPCWSTR (LPCSTR if not unicode). Note that this is used in the above example for the _tcscpy function
For further reading, have a look at the strings section of Codeproject, there are a few good articles that is a must-read.
"..Even my comments have bugs!"
Inspired by Toni78
|
|
|
|
|
the easy way:
<br />
USES_CONVERSION;<br />
<br />
CString Str(_T("This is my string"));<br />
<br />
char charBuf[255];<br />
strcpy( charbuf, T2CA(Str) );<br />
<br />
wchar_t wcharBuf[255];<br />
wsccpy( wcharBuf, T2CW(Str) );<br />
<br />
TCHAR tcharBuf[255];<br />
_tcscpy( tcharBuf, Str );<br />
this works in UNICODE and non-UNICODE.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />
Peter Weyzen<br />
Staff Engineer<br />
Santa Cruz Networks
|
|
|
|
|
Hi i've got an object that I want to use with a number of dialogues, so I declared it in my App class, and I was then going to use a pointer to the app object to acess it in all my dialogues.
How do I get the pointer to the app to access the object?
At the moment I have something like
CtheApp* m_pApp;
but how do I initialise the pointer to point at the app?
I tried something like
m_pApp = &theApp;
but I just get the compiler saying that theApp is an undeclared variable but I thought it was a global. Can someone enlighten me as to the way to proceed?
Thanks
Andy
|
|
|
|
|
<br />
CMyApp* theApp = static_cast<CMyApp*>(AfxGetApp());<br />
"..Even my comments have bugs!"
Inspired by Toni78
|
|
|
|
|
nice one, thanks, but what is the
static_cast for can't I just use AfxGetApp on its own?
Andy
|
|
|
|
|
Yes, but it will return you a CWinApp pointer, not a CtheApp pointer. That's why it must be cast to the appropriate type.
|
|
|
|
|
DavidCrow wrote:
Yes, but it will return you a CWinApp pointer, not a CtheApp pointer
Exactly.
AfxGetApp() Returns a CWinApp class pointer. If you want to reference your specific class, you have to cast the returned pointer to your application class. This will allow you to access your member functions. The olden way of casting used to be of the form:
CMyClass* pClass = (CMyClass*)(ParentClass);
<pre>
</code>
But the (now) standard way of casting C++ classes take the form:
<pre>
<code>
CMyClass* pClass = static_cast<CMyClass*>(ParentClass);
</code>
"..Even my comments have bugs!"
Inspired by Toni78
|
|
|
|
|
okay.. i don't know if this is the right forum..
can anybody explain me the regular expression search & replace utility?
(or is there any documentation on this topic.. i couldn't find any)..
e.g. i want to change all the occurences of char XXX[] to const char* XXX
it would be something like
char(.*)?\[\] (at least as much as i know)
now i would have to replace this with const char* $1
how to do this with the find / replace dialog.
would be very handy if it worked..
bernhard
"I'm from the South Bronx, and I don't care what you say: those cows look dangerous." U.S. Secretary of State Colin Powell at George Bush's ranch in Texas
|
|
|
|
|
Find: char \(.*\)\[\]
Replace: const char *\1
Ryan
Being little and getting pushed around by big guys all my life I guess I compensate by pushing electrons and holes around. What a bully I am, but I do enjoy making subatomic particles hop at my bidding - Roger Wright (2nd April 2003, The Lounge)
Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late - John Nichol "Point Of Impact"
|
|
|
|
|
Hi!
I tryed to use http://www.codeproject.com/treectrl/coptiontree.asp
During the compilation i got following error
MainFrm.obj : error LNK2001: unresolved external symbol Symbol "public: virtual __thiscall COptionTree::~COptionTree(void)" (??1COptionTree@@UAE@XZ)
MainFrm.obj : error LNK2001: unresolved external symbol "public: __thiscall COptionTree::COptionTree(void)" (??0COptionTree@@QAE@XZ)
MainFrm.obj : error LNK2001: unresolved external symbol "public: int __thiscall COptionTree::Create(unsigned long,struct tagRECT,class CWnd *,unsigned long,unsigned int)" (?Create@COptionTree@@QAEHKUtagRECT@@PAVCWnd@@KI@Z)
I've added the lib from COptionTree in my Project and put the DLL in my Debug folder.
What have i done wrong?
Thx mike
|
|
|
|
|
Do you include the header file for the lib?
-Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
|
|
|
|
|
Hi!
Yes, I have added #include "OptionTree.h" to my *.h were the Instance of COptionTree is declared.
mike
|
|
|
|
|
Hi!
Where can i get a sample build with a DLL? Can somebody send it to me?
pleeaazzze
mvodep@gmx.net
thx mike
|
|
|
|
|
hi..
Please tell me How disable or enable a NIC using MFC class.
like on widows system to double-click My Computer, Control Panel, and System.
then Click the Hardware tab and Device Manager.
Under Network Adapters, desable or enable the Network card.
can u help me?!
thank a lot.
/neil
SADAS
|
|
|
|
|
Can anyone tell me where can I find a dis-assembler for pc? I have heard of a popular software called SoftIce. If any one can tell me about SoftIce then it would be great ! thanks in advance
___________________________
When a thing is new, people say, "It's not true." Later, when its truth becomes obvious, people say, "It's not important." Finally, when its importance cannot be denied, people say, "Well, it's not new."
|
|
|
|
|
|
i want to debug .COM file also..
can we use OllyDbg for that too?
___________________________
When a thing is new, people say, "It's not true." Later, when its truth becomes obvious, people say, "It's not important." Finally, when its importance cannot be denied, people say, "Well, it's not new."
|
|
|
|
|
Hi, I have a Small service which installs and runs fine on most machine, yet on some machines, when I try to install the service, using the CreateService() API function, the function hangs and I need to kill to process manually.
Any ideas?
|
|
|
|
|
Who knows why I can't type through Keyboard in dialog box after calling SetTimer function of CWnd object? I need to kill the timer everytime when the dialog box pop up for allow users to enter the data... it is very inconvenience...Please help...
Thank you.
Terry
|
|
|
|