|
can u tell me how this can be implemented in code?i am new to vc++
|
|
|
|
|
<br />
void CAnswer::OnBnClickedMybutton()<br />
{<br />
CString str1,str2;<br />
m_Edit1.GetWindowText(str1);<br />
m_Edit2.GetWindowText(str2);<br />
<br />
str2.Insert(0,str1);<br />
<br />
m_Edit2.SetWindowText(str2);<br />
m_Edit1.SetWindowText("");<br />
}<br />
<br />
<br />
whitesky
|
|
|
|
|
if u want to update the data on keypress
Map the key press of the input text box ( say IDC_TEXTIN)
else
do the following on button click or the operation u want to update the text boxes
1. Keep the length of IDC_TEXTOUT when u update the text for the first time.
CString strTextIn;
CString strTextOut;
GetDlgItemText(IDC_EDITIN,strTextIn);
GetDlgItemText(IDC_EDITOUT,strTextOut);
// take the fixed amount of string
CString strFixed = strTextOut.Left(m_nLength);
strTextIn.Left(m_nLength);
// Create a new string
strTextOut = strFixed+strTextIn;
SetDlgItemText(IDC_TEXTOUT,strTextOut);
do the needful assertion checks
SaRath
|
|
|
|
|
You might need to clarify your question a bit more.
For example:
Text 1: ""
Text 2: "Bar"
User types "ABC" into Text 1.
Text 2 becomes: "BarABC" correct?
Now, what if user edits Text2? User types "123" at the end of Text2.
Text2 is now: "BarABC123"
Now, the user switches back to Text1 and types "EFG".
Should Text2 now contain "BarABC123EFG" or "BarEFG"?
If it's the first case you can do something like the following in the EN_CHANGE message handler (or OnChange):
<br />
CString strText1;<br />
CString strText2;<br />
GetDlgItemText(IDC_TEXT1, strText1);<br />
GetDlgItemText(IDC_TEXT2, strText2);<br />
<br />
strText2 += strText1;<br />
<br />
SetDlgItemText(IDC_TEXT2, strText2);<br />
If it's the second case, you'll have to cache Text2's value, when you enter the dialog and do:
<br />
CString strText1;<br />
CString strText2;<br />
GetDlgItemText(IDC_TEXT1, strText1);<br />
GetDlgItemText(IDC_TEXT2, strText2);<br />
<br />
strText2 = m_strCachedText2 + strText1;<br />
<br />
SetDlgItemText(IDC_TEXT2, strText2);<br />
Man, I hoped that makes sense, it sounded good in my head until I typed it
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
Handle EN_CHANGE event of Edit control you will get function as
OnChangeEdit1();
In this function you can paste the code as :
<br />
CString str1;<br />
CString str;<br />
m_edit1.GetWindowText(str);<br />
m_edit2.GetWindowText(str1);<br />
str1= str1+str;<br />
m_edit2.SetWindowText(str1);
Here m_edit1 and m_edit2 are the control variables for the edit boxes.
Cheers
"Peace of mind through Technology"
|
|
|
|
|
I want to study this software
|
|
|
|
|
|
|
why it is "Mozilla"
The Mozilla is used to Creating Applications
I need the source of firfox
--------------------------------
fisheryj # gmail.com
jerry
|
|
|
|
|
wrote: why it is "Mozilla"
As it's a product of Mozilla
Here is the source code[^]
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
Hi,
In VC++ i have the following line in VC++ to send bytes to ActiveX control, when i debug it i can able to see &(abData[0]) will return address of first element and i am sending the same to control.
Byte *pbManagedData = &(abData[0]); // Get starting point of Array
axSimpleAdditionAtx1 ->SendBy(pbManagedData,3); // Send it to Active-X
In ActiveX control i am having following signature to receive the memory pointer. But i can able to see junk values alone; please let me know whats wrong with this.
void VRMControl::SendBy(BYTE* ByteValue, LONG Length)
{
BYTE val[3];
memcpy (ByteValue,val,3);
}
|
|
|
|
|
sivaprakashshanmugam wrote: BYTE val[3];
memcpy (ByteValue,val,3);
val isn't initiated, and contains garbage (whatever is on the stack).
And then you copy that junk to ByteValue...
|
|
|
|
|
Shall i do like this
ZeroMemory (val,3);
memcpy (val,ByteValue,3);
In memcpy - Val is Destination and ByteValue is Source.
Else please give me small code snippet. To read BYTE* in to string as per my previous code.
Thanks alot!!.
|
|
|
|
|
|
sivaprakashshanmugam wrote: ZeroMemory (val,3);
memcpy (val,ByteValue,3);
in this case ZeroMemory is not required. u urself have rectified the problem ie it should be memcpy (val,ByteValue,3) rather than memcpy (ByteValue,val,3)(in ur first posting)
never say die
-- modified at 2:22 Tuesday 23rd May, 2006
|
|
|
|
|
memcpy(destination, source, length);
Maxwell Chen
|
|
|
|
|
As per your advise i changed my code like this; still i am not able to see my string which i sent from application.
//ActiveX control code
void VRMControl::SendBy(BYTE* ByteValue, LONG Length)
{
BYTE val[3];
ZeroMemory (val,3);
memcpy (val,ByteValue,3);
AfxMessageBox (CString(val));
}
It says "Object Reference Error". Please provide me solution. In my first post i did mention my ActiveX calling code also please look over that too since i might donce some mistakes there.
Thanks..
|
|
|
|
|
sivaprakashshanmugam wrote: //ActiveX control code
void VRMControl::SendBy(BYTE* ByteValue, LONG Length)
{
BYTE val[3];
ZeroMemory (val,3);
memcpy (val,ByteValue,3);
AfxMessageBox (CString(val));
}
void VRMControl::SendBy(BYTE* ByteValue, LONG Length)<br />
{<br />
BYTE val[3];<br />
memcpy (val,ByteValue,3); <br />
AfxMessageBox (CString(val)); <br />
}
Maxwell Chen
|
|
|
|
|
Whats wrong with the following, actually my VC++ application is not calling ActiveX method it says "Object Reference Error", i can able to compile successfully.
brFileContent->Read (abData,0,2); //brFileContent is Binary Reader
Byte *pbManagedData = &(abData[0]); // Get starting point of Array (I can able to see Data and address here
axSimpleAdditionAtx1 ->FinalBy (pbManagedData); // Calling Activex
Method signature in ActiveX which is not getting called..
void VRMControl::SendBy(BYTE* ByteValue, LONG Length)
{
}
|
|
|
|
|
sivaprakashshanmugam wrote: axSimpleAdditionAtx1 ->FinalBy (pbManagedData); // Calling Activex
Shouldn't it be as ... below (the dot) ?
axSimpleAdditionAtx1.FinalBy (pbManagedData); // Calling Activex
Maxwell Chen
|
|
|
|
|
No it should be pointer i can able to call some other methodes, this alone is giving thie error seems there is some signature or data mismatching that i am not able to find out please help me out.
|
|
|
|
|
sivaprakashshanmugam wrote: this alone is giving thie error seems there is some signature or data mismatching
Can you give the prototype of FinalBy of ActiveX control your trying to use?
Maxwell Chen
|
|
|
|
|
This is the prototype which i am using in ActiveX
void VRMControl::FinalBy(BYTE* FinalStr)
{
AfxMessageBox ("Called..");
}
Even the message "Called.." is not displayed before that itself it throws error.
|
|
|
|
|
sivaprakashshanmugam wrote: Even the message "Called.." is not displayed before that itself it throws error.
Then it should be other reason about the initialization of that ActiveX instead of invoking the method FinalBy(...).
Maxwell Chen
|
|
|
|
|
hi
is there any way to read the SMBIOS information?
that means i want to read that low level physical memory
where SMBIOS information are stored.please help me,its
urgent.
thanx
nirmal
|
|
|
|