導航:首頁 > 五金知識 > mfc工具箱拖拽

mfc工具箱拖拽

發布時間:2022-10-18 00:44:24

⑴ MFC編程中怎麼找到工具箱

VC6.0還是高級版本?
工具箱只有你打開資源後才能看到的
如果還是沒有的話
對於VC6.0來說,Tools-Customize-ToolBars,把Controls前面的復選框選中就OK了

⑵ vs2013中用MFC和C++創建程序後,工具箱中的控制項全部顯示灰色,無法拖進對話框。

我碰到過一次,具體是因為我在使用控制項的時候正在運行一個程序,這樣,vs你再向這個工程里添加東西是不可以的!我的就是因為這個,希望,能解決你的問題。

⑶ mfc中如何實現 滑鼠拖拽圖片

這個效果我剛好做過,呵呵!
首先,在View類中重載滑鼠Down,Move,Up消息函數,這個沒問題吧!
滑鼠按下函數代碼如下:
void CMy2009302590235liliView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CMy2009302590235liliDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
LPSTR lpDIB=(LPSTR)::GlobalLock(pDoc->hDIB);
LPSTR lpDIBBits;
lpDIBBits=FindDIBBits(lpDIB);
LONG Width=DIBWidth(lpDIB);
LONG Height=DIBHeight(lpDIB);//這三句是為了獲得圖像的高和寬,這個你可以用你自己的方法獲得。
CRect rectPic;
ptput=point;
rectPic.left=0;
rectPic.right=Width;
rectPic.top=0;
rectPic.bottom=Height;
if(rectPic.PtInRect(ptput))
{
SetCapture();
}//以上的步驟是為了判斷你滑鼠點下的地方是否在圖片區域內。這個我相信你應該看得懂
CScrollView::OnLButtonDown(nFlags, point);

}
滑鼠移動,重點在這里
void CMy2009302590235liliView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default

CScrollView::OnMouseMove(nFlags, point);
if(GetCapture())//這個if是為了判斷滑鼠是否在圖像區域內,在的話執行下面的代碼
{
CMy2009302590235liliDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);//這兩行是為了獲得指針pDoc,這個因該不陌生
LPSTR lpDIB=(LPSTR)::GlobalLock(pDoc->hDIB);//鎖定圖像
LPSTR lpDIBBits;
lpDIBBits=FindDIBBits(lpDIB);
LONG Width=DIBWidth(lpDIB);
LONG Height=DIBHeight(lpDIB);//以上是為了獲得圖像的高和寬
DWORD m_dwsizeImage=Width*Height;//計算大小
LPBYTE m_lpImageCopy=(BYTE*)malloc(m_dwsizeImage);//分配內存
memcpy(m_lpImageCopy,lpDIBBits,m_dwsizeImage);
DWORD wBitCount = ((LPBITMAPINFOHEADER)lpDIB)->biBitCount;//這個是獲得每一個像素所佔用的位元組
DWORD lRowBytes=WIDTHBYTES(Width*wBitCount);
LPBYTE lpData=(LPBYTE)lpDIBBits;
LPBYTE lpOldBits=m_lpImageCopy;
CPoint m_ptmove=point;
//以下是具體演算法,不做過多解釋,可以直接復制粘貼
DWORD dXOffset;
DWORD dYOffset;
dXOffset=m_ptmove.x-ptput.x;
dYOffset=m_ptmove.y-ptput.y;
ptput=m_ptmove;
DWORD i;
DWORD j;
long i0=0;
long j0=0;
for(i=0;i<Height;i++)
{
for(j=0;j<Width;j++)
{
LPBYTE lpTemp=lpData+lRowBytes*(i)+(j);
i0=i+dYOffset;
j0=j-dXOffset;
if((j0>=0)&&(j0<(long)Width)&&(i0>=0)&&(i0<(long)Height))
{
*lpTemp=*(lpOldBits+lRowBytes*(i0)+(j0));
}
else
{
*lpTemp=(BYTE)255;
}
}
}

}

}
滑鼠UP,這里簡單的多,只要釋放以下滑鼠就可以了。
void CMy2009302590235liliView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default

CScrollView::OnLButtonUp(nFlags, point);

Invalidate(FALSE);
ReleaseCapture();
}

⑷ MFC中如何能讓工具欄不被拖拽

自己寫個類吧

閱讀全文

與mfc工具箱拖拽相關的資料

熱點內容
閥門上r代表什麼意思 瀏覽:953
智能儀表銷售怎麼樣 瀏覽:500
伸縮裝置機械動圖 瀏覽:717
所示裝置是實驗室用輕繩 瀏覽:233
剛開始賣閥門需要了解什麼 瀏覽:29
智跑換儀表盤多少錢 瀏覽:35
分度線用什麼儀表 瀏覽:421
買些什麼器材可以練臂力 瀏覽:537
實驗裝置排序問題 瀏覽:724
挖孔樁機械多少錢1米 瀏覽:426
沈陽機床重量怎麼樣 瀏覽:772
新上鑄造廠怎麼樣 瀏覽:308
現在家裡一般是什麼水電閥門 瀏覽:937
老房子暖氣閥門在頂樓嗎 瀏覽:139
蘇州健身器材廠家有哪些 瀏覽:373
踏板車換後輪軸承收多少錢 瀏覽:245
超聲波洗項鏈效果怎麼樣 瀏覽:400
寧波器材去哪裡買 瀏覽:869
鄞州戶外兒童游樂設備哪裡能買 瀏覽:843
收購哪些廢舊專用器材違法 瀏覽:763