|
No problem.
Did you get a solution? If so, what worked?
BTW, I still think it's silly that read-only edit controls show the caret
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: BTW, I still think it's silly that read-only edit controls show the caret
How else would you copy text from them?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
With the mouse, duh
Well there it is then.. I no longer think it's silly!
Thanks!
MArk
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Hello,
No i didnt get any solution, i just thanked for trying to help me.
i still have the same problem
|
|
|
|
|
Gofur Halmurat wrote: How can we hide the cursor?
Can you change the Z-order of the controls, such that this edit control is not the first one given focus? Or, can you disable the control?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
There is only one control on my dialog, yeah, i can disable it, but i need enabled Cedit control, what happens if i change z-order?
thanks
|
|
|
|
|
Gofur Halmurat wrote: ...but i need enabled Cedit control...
You need it enabled but read-only, is that right?
Gofur Halmurat wrote: what happens if i change z-order?
Nothing, when there is only one control.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
|
So what is the purpose of this read-only control?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
The purpose is to show some text on it, that is all
|
|
|
|
|
Then why not just use a static control, or a disabled edit control?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Because the Cedit control supports a link, or colored text, that is why i am using it, or what else would u recomment?
|
|
|
|
|
Gofur Halmurat wrote: Because the Cedit control supports a link, or colored text, that is why i am using it, or what else would u recomment?
You can have colored text just as easily with a standard static control.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Yeah, i just found an article about it, here is the link
I am gonna use CStatic instead of CEdit, but i am still wondering, why can not we hide caret?.....
anyway the topic is open to discuss!!!
Thanks David.
|
|
|
|
|
Hey all,
What is the easiest way to convert a char[] to an int[]so that the elements of the int array are the combination of 4 char elements?
Here is an example of what I mean;
if
<code>
char tempChar[8] = {0};
int tempInt[2] = {0};
tempChar[0] = 0x00;
tempChar[1] = 0x11;
tempChar[2] = 0x22;
tempChar[3] = 0x33;
tempChar[4] = 0x44;
tempChar[5] = 0x55;
tempChar[6] = 0x66;
tempChar[7] = 0x77;</code>
how do I get
<code>
tempInt[0] = 0x00112233;
tempInt[1] = 0x44556677;</code>
Thanks!
|
|
|
|
|
One possible way is to add the most significant char to the int and move the bits to the left with <<, then the next one and so on.
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
|
|
|
|
|
thank you for the reply...
I was trying to see which is the fastest way to do this if I say have 100 elements in the int[]?
|
|
|
|
|
You can also use an union:
#include <iostream>
using namespace std;
union Char2int
{
unsigned char tempChar[8];
unsigned int tempInt[2];
};
int _tmain(int argc, _TCHAR* argv[])
{
Char2int c2i;
c2i.tempChar[0] = 0x33;
c2i.tempChar[1] = 0x22;
c2i.tempChar[2] = 0x11;
c2i.tempChar[3] = 0x00;
c2i.tempChar[4] = 0x77;
c2i.tempChar[5] = 0x66;
c2i.tempChar[6] = 0x55;
c2i.tempChar[7] = 0x44;
for (int i = 0; i < 2; ++i)
wcout << std::hex << c2i.tempInt[i] << endl;
return 0;
}
"We make a living by what we get, we make a life by what we give." --Winston Churchill
-- modified at 11:45 Wednesday 31st October, 2007
|
|
|
|
|
Thanks George and everyone else for their help....this is exactly what I was looking for in order to save processing time.
|
|
|
|
|
As I interpret your initial post, you may not get what you want with the proposed union solution.
NYTSX wrote:
tempChar[0] = 0x00;
tempChar[1] = 0x11;
tempChar[2] = 0x22;
tempChar[3] = 0x33;
tempChar[4] = 0x44;
tempChar[5] = 0x55;
tempChar[6] = 0x66;
tempChar[7] = 0x77;
This would in all systems, regardless of byte ordering, generate the following memory contents:
00 11 22 33 44 55 66 77
If you convert the memory contents above to two adjacent 32-bit integers you will, on a little-endian system like most systems running windows, get 0x33221100 and 0x77665544.
NYTSX wrote: how do I get
tempInt[0] = 0x00112233;
tempInt[1] = 0x44556677;
My point is that the union solution will work on a big-endian system, but not on a little-endian system in terms of how I interpret your question.
To make a portable solution you would have to walk through the char array, one element at a time, and shift the integer value like Nelek suggested.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
Remember that the code above is not portable, and you should comment your code that it is so!
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
George L. Jackson wrote: Remember that the code above is not portable...
But since this forum is for VC++ code, and nothing was even remotely mentioned about portability, does it matter?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Your right. The poster is happy. I am happy he is happy. So, don't worry. Be happy!
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
A simple casting should do the trick:
int* tempInt = (int*)tempChar;
But be carefull with byte ordering ! As the bytes are stored in an inverted way in memory. It means that if you have those bytes in memory:
0x00 0x00 0x00 0x01
And you interprete those bytes as an integer (like you will do with the cast), the resulting integer value won't be one (but 0x01000000).
|
|
|
|
|
Cedric Moonen wrote: As the bytes are stored in an inverted way in memory
partially right. all depends of the system.
but one should always care about bytes order anyway
|
|
|
|