首页上一页 1 下一页尾页 1 条记录 1/1页
VC范例宝典实例130
发表在C语言图书答疑
2009-09-08
是否精华
是
否
版块置顶:
是
否
void CLRSoundControlDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
DWORD pos;
int scrollpos;
if(pScrollBar->m_hWnd==m_left.m_hWnd)
{
scrollpos=m_left.GetPos();
::waveOutGetVolume(0,&pos);
pos=pos&0x0000ffff|(scrollpos<<8);
::waveOutSetVolume(0,pos);
}
if(pScrollBar->m_hWnd==m_right.m_hWnd)
{
scrollpos=m_right.GetPos();
::waveOutGetVolume(0,&pos);
pos=pos&0xffff0000|(scrollpos<<24);
::waveOutSetVolume(0,pos);
}
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
中,scrollpos<<8是什么意思,是移位??要是移位scrollpos<<24不移没了。
pos&0x0000ffff已经得到左声道的值为什么还要异或scrollpos<<8?
{
DWORD pos;
int scrollpos;
if(pScrollBar->m_hWnd==m_left.m_hWnd)
{
scrollpos=m_left.GetPos();
::waveOutGetVolume(0,&pos);
pos=pos&0x0000ffff|(scrollpos<<8);
::waveOutSetVolume(0,pos);
}
if(pScrollBar->m_hWnd==m_right.m_hWnd)
{
scrollpos=m_right.GetPos();
::waveOutGetVolume(0,&pos);
pos=pos&0xffff0000|(scrollpos<<24);
::waveOutSetVolume(0,pos);
}
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
中,scrollpos<<8是什么意思,是移位??要是移位scrollpos<<24不移没了。
pos&0x0000ffff已经得到左声道的值为什么还要异或scrollpos<<8?