defenderH2O
Grünschnabel
hi
ich will in mein project das progressgrafik intregrieren wo es den aktuellen
download anzeigt also nur das prozuentale fortschritt sollte es anzeigen..
habe in mein item Progress vorher schon geaddet:
hier wie es schon aussieht:
http://img97.imageshack.us/img97/6498/bildnm2.png
ja nun habe ich vom emule 24a source den progress genommen...
da ich eben eine farbiges progress wollte aber eben kein part funktion...
und habe es in mein source intregriert..:
in meine .h datei habe diese hier hinzugefügt:
ok nun habe ich eine function die GetState oder Getstatus heist...
da wird eben anhezeigt % ,kibs,time...
ok ich muss nur rausfinden wie GetStatus function mit dem progree anwenden kann?
ich will in mein project das progressgrafik intregrieren wo es den aktuellen
download anzeigt also nur das prozuentale fortschritt sollte es anzeigen..
habe in mein item Progress vorher schon geaddet:
Code:
strTemp = m_ExtStr.LoadString( IDS_DL_PROGRESS_ENG + g_unStringLanguageIdOffset );
InsertColumn(i++,strTemp,LVCFMT_LEFT,170);
Code:
case 8:// progress asc
return pListItem1->m_strProgress.CompareNoCase(pListItem2->m_strProgress);
case 18:// progress desc
return pListItem2->m_strProgress.CompareNoCase(pListItem1->m_strProgress);
Code:
strTemp = m_ExtStr.LoadString( IDS_DL_PROGRESS_ENG + g_unStringLanguageIdOffset );
pColumn.pszText = strTemp.GetBuffer(MAX_PATH);
SetColumn(nCol++,&pColumn);
strTemp.ReleaseBuffer();
hier wie es schon aussieht:
http://img97.imageshack.us/img97/6498/bildnm2.png
ja nun habe ich vom emule 24a source den progress genommen...
da ich eben eine farbiges progress wollte aber eben kein part funktion...
und habe es in mein source intregriert..:
Code:
#define DLC_BARUPDATE 512
//*******************************************************************
// FUNCTION: - Progress()
// RETURNS: -
// PARAMETERS: -
// COMMENTS: -
//*******************************************************************
void CMuteDownloadListCtrl::DrawFileItem(CDC *dc, int nColumn, LPRECT lpRect, CtrlItem_Struct *lpCtrlItem) {
if(lpRect->left < lpRect->right) {
char buffer[200];
//CPartFile *lpPartFile = (CPartFile*)lpCtrlItem->value;
switch(nColumn) {
case 8: // progress
{
lpRect->bottom --;
lpRect->top ++;
// added
int iWidth = lpRect->right - lpRect->left;
int iHeight = lpRect->bottom - lpRect->top;
if (lpCtrlItem->status == (HBITMAP)NULL)
VERIFY(lpCtrlItem->status.CreateBitmap(1, 1, 1, 8, NULL));
CDC cdcStatus;
HGDIOBJ hOldBitmap;
cdcStatus.CreateCompatibleDC(dc);
int cx = lpCtrlItem->status.GetBitmapDimension().cx;
DWORD dwTicks = GetTickCount();
if(lpCtrlItem->dwUpdated + DLC_BARUPDATE < dwTicks || cx != iWidth || !lpCtrlItem->dwUpdated) {
lpCtrlItem->status.DeleteObject();
lpCtrlItem->status.CreateCompatibleBitmap(dc, iWidth, iHeight);
lpCtrlItem->status.SetBitmapDimension(iWidth, iHeight);
hOldBitmap = cdcStatus.SelectObject(lpCtrlItem->status);
RECT rec_status;
rec_status.left = 0;
rec_status.top = 0;
rec_status.bottom = iHeight;
rec_status.right = iWidth;
//lpPartFile->DrawStatusBar(&cdcStatus, &rec_status, theApp.glob_prefs->UseFlatBar());
lpCtrlItem->dwUpdated = dwTicks + (rand() % 128);
} else
hOldBitmap = cdcStatus.SelectObject(lpCtrlItem->status);
dc->BitBlt(lpRect->left, lpRect->top, iWidth, iHeight, &cdcStatus, 0, 0, SRCCOPY);
cdcStatus.SelectObject(hOldBitmap);
//added end
lpRect->bottom ++;
lpRect->top --;
}
break;
}
}
}
Code:
struct CtrlItem_Struct{
CtrlItem_Struct* parent;
DWORD dwUpdated;
CBitmap status;
~CtrlItem_Struct() { status.DeleteObject(); }
};
void DrawFileItem(CDC *dc, int nColumn, LPRECT lpRect, CtrlItem_Struct *lpCtrlItem);
ok nun habe ich eine function die GetState oder Getstatus heist...
da wird eben anhezeigt % ,kibs,time...
ok ich muss nur rausfinden wie GetStatus function mit dem progree anwenden kann?
Zuletzt bearbeitet: