這個MFC程式是如何實作個人設定里選擇用戶頭像的功能的??麻煩告知,希望詳細點,我這邊實作不了,下拉串列是空白的。菜鳥一枚,希望懂的人不吝賜教,在線等。
uj5u.com熱心網友回復:
搜“高仿QQ MFC”uj5u.com熱心網友回復:
需要自繪ListBoxuj5u.com熱心網友回復:
這個是combox啊。uj5u.com熱心網友回復:
不好意思, 說錯了, 就是自繪combobox
uj5u.com熱心網友回復:
這個是combox啊。
需要自繪ListBox
不好意思, 說錯了, 就是自繪combobox
uj5u.com熱心網友回復:
MingQQ v1.0高仿版_源代碼uj5u.com熱心網友回復:
這個是combox啊。
需要自繪ListBox
不好意思, 說錯了, 就是自繪combobox
uj5u.com熱心網友回復:
https://msdn.microsoft.com/en-us/library/windows/desktop/hh298423(v=vs.85).aspxuj5u.com熱心網友回復:
百度一下吧. 自繪, 設定了ownerdraw屬性后, 自繪整個combobox這個例子中有完整的檔案加載和顯示
雖然沒有寫注釋, 但應該能看得懂吧.
void CComboBoder::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
int Index=lpDrawItemStruct->itemID;
if(Index>=0)
{
BODERBMP boder={0};
if(getBoderInfo(boder,Index))
{
CDC dc;
dc.Attach(lpDrawItemStruct->hDC);
CRect rc=lpDrawItemStruct->rcItem;
COLORREF bkClr=RGB(255,255,255);
COLORREF txtClr=0;
if(lpDrawItemStruct->itemState & ODS_SELECTED)
{
txtClr=bkClr;
bkClr=RGB(49,106,197);
}
dc.FillSolidRect(&rc,bkClr);
CBitmap bmp;
if(FALSE ==bmp.LoadBitmap(boder.srcBmpId) )
{
OutputDebugString(TEXT("load erro"));
}
BITMAP bt={0};
bmp.GetBitmap(&bt);
CSize bmpSize;
bmpSize.cx=bt.bmWidth;
bmpSize.cy=bt.bmHeight;
int offsetY=(rc.Height()-bmpSize.cy)/2;
if(offsetY<1)
{
offsetY=1;
}
CString Str;
Str.Format(TEXT("%d"),bmpSize.cy);
//OutputDebugString(Str);
//GetLBText(Index,Str);
rc.InflateRect(-2,-1);
dc.SetBkColor(bkClr);
dc.SetTextColor(txtClr);
dc.TextOut(rc.left,rc.top,Str);
CDC memDC;
memDC.CreateCompatibleDC(&dc);
CBitmap *pOldBmp=(CBitmap*)memDC.SelectObject(&bmp);
dc.BitBlt(rc.left+10,rc.top+offsetY,bmpSize.cx,bmpSize.cy,&memDC,0,0,SRCCOPY);
memDC.SelectObject(pOldBmp);
memDC.DeleteDC();
dc.Detach();
}
}
}
uj5u.com熱心網友回復:
仿QQ程式是看過的,uj5u.com熱心網友回復:
搜“高仿QQ MFC”
又看到老師了。

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/105262.html
標籤:網絡編程
