|
~ flips all bits in a variable (0s become 1s and 1s become 0s). As WS_EX_CLIENTEDGE is a value which expressed in binary is all zeros except one bit, ~WS_EX_CLIENTEDGE is all 1s except that bit, which becomes zero. When you bitwise AND this with cs.dwExStyle the result is that all bits of cs.dwExStyle remain unchanged (1 AND x = 1) except that bit which becomes zero (0 AND x = 0). To sum it up, you're setting the specified bit to zero, or (in this context) removing the style "client edge" (in case it was set).
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
OK, let me see if I got this straight. You said, "In this context," I am "removing the style 'client edge' (in case it was set)."
I couldn't have removed it, because when the view got displayed, it had the "client edge" showing. Are you saying that if it were NOT set, coding:
cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
would set it?
Thanks again.
William
|
|
|
|
|
|
Thank you for responding.
My problem is not so much understanding how the various logical operators behave. That part is rather easy. The difficulty for me is with the associating of the various operators with the various styles.
For example, if I had just seen "cs.dwExStyle" and "WS_EX_CLIENTEDGE" separately by themselves, I would not have known that:
cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
is the way they are to be used. The problem with that would be due to a lack of knowledge regarding the bit pattern of the various styles and knowing what logical operator you are to use with them, individually.
Usually if you don't want to use a certain Window or Control style, you simply don't use it. But if you decided to use it, you would simply 'OR' it with the other styles. Simple!!
It is when you get into these exotic usage that I get lost, because I don't know the mask of the style, to let me know what logical operator I am to use in order to turn it on, or off. That's my problem!
William
|
|
|
|
|
That code turns off (sets to zero) the bit represented by WS_EX_CLIENTEDGE , while leaving all other bits as they are.
--Mike--
Just released - RightClick-Encrypt v1.4 - Adds fast & easy file encryption to Explorer
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
This is the part that confuses me, because if it turned off the bit represented by WS_EX_CLIENTEDGE (which I'm not disputing), then why did the view show the 3-D look when the client area got displayed?
By turning off the bit, it should have also turned off the 3-D look, but it didn't.
UNLESS, turning off the bit that represents the WS_EX_CLIENTEDGE bit mask, is what caused WS_EX_CLIENTEDGE to get displayed (which sounds a little backward in order to get it right), then I could understand doing it the "upside down" way in order to get it "rightside up" in the end.
Is that what happened?
Thanks again!
William
|
|
|
|
|
WREY wrote:
This is the part that confuses me, because if it turned off the bit represented by WS_EX_CLIENTEDGE (which I'm not disputing), then why did the view show the 3-D look when the client area got displayed?
3D look was provided by parent frame or splitter window. If you leave WS_EX_CLIENTEDGE on view, then you'll get double-3D, which doesn't look good.
Tomasz Sowinski -- http://www.shooltz.com
To some its a six-pack, to me it's a support group
|
|
|
|
|
Cool!!
Thanks!!
William
|
|
|
|
|
Hello there !
How can i perevent to close window when user hit Enter or Escape ???
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
Override OnClose , OnOK and OnCancel as follows:
void CYourDlg::OnClose()
{
EndDialog(0);
}
void CYourDlg::OnOK()
{
return;
}
void CYourDlg::OnCancel()
{
return;
}
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Thanks
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
Hello there,
How can i change the system volume ?
I mean change the volume up and down ?
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
change the volume up and down
??? What do you mean? Could you put this in another words?
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hello dear Joaquín
I'm so sorry for my bad english talking
I mean i want to change the system volume to high abd low !
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
I'm so sorry for my bad english talking
I'm sorry too about my poor understanding
Still, I don't get you. What do you mean by "system volume"? Maybe the name hard disks are assigned? Maybe the letter (C:, D:, etc.)? And what is "to high and low"?
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
I guess he's trying to change the audio output volume
Tomasz Sowinski -- http://www.shooltz.com
To some its a six-pack, to me it's a support group
|
|
|
|
|
Gosh
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Well, if Tomasz is right and you want to set the speaker volume, check auxSetVolume .
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Thank you Joaquín, Thomas
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
Hi,
I added a CDateTimeCtrl on my dialog.
Then I added a CTime member variable like this:
in MyDialog.h :
CTime m_dateWarranty;
in MyDialog.cpp :
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER_WARR, m_dateWarranty);
Link gives the following error:
error LNK2001: unresolved external symbol "void __stdcall DDX_DateTimeCtrl(class CDataExchange *,int,class CTime &)" (?DDX_DateTimeCtrl@@YGXPAVCDataExchange@@HAAVCTime@@@Z)
Thanks,
Where there is a WISH, there is a WILL.
|
|
|
|
|
Try #include ing <afxdtctl.h> .
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
This solved my problem!
Thank you so much.
Where there is a WISH, there is a WILL.
|
|
|
|
|
I have a var that I'm setting in my code on a timer, when I stop the code in the debugger and step through it, it doesn't set the value to anything. Why?
The only time I get it to take a value is when I use a constant.
The code is basically x = y, y has a value of 1.234 but x is alway 0.0000.
Any idea why this would happen?
|
|
|
|
|
Are both x and y floating point variables? Are you sure y isn't zero? Are you sure x isn't being set? Post the code - it seems you're doing something wrong.
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Yes x and y are both floating point numbers.
This is the code I'm looking at:
m_mf2_rngcntdwn (this is a float defined in an edit box) = ThreatStruct.cvf[0].fSlantRange;
In the debugger fSlantRange = 1.234 as I have hard coded this in and check it in the debugger.
m_mf2_rngcntdwn = 0.0000...and never changes.
|
|
|
|