was bedeutet das ?

utzutz

Mitglied
wollte wissen was das hier bedeutet


killdlg.h
#if !defined(AFX_KILLDLG_H__63DF60B9_91DC_4341_92E9_0642D565D429__INCLUDED_)
#define AFX_KILLDLG_H__63DF60B9_91DC_4341_92E9_0642D565D429__INCLUDED_

und das hier

((CListBox*)GetDlgItem( IDC_LIST1))->ResetContent();
WinProcess wp;
for( POSITION pos = wp.GetHeadPosition(); pos;)
{
CTask* pTask = wp.GetNext( pos);
int idx = ((CListBox*)GetDlgItem( IDC_LIST1))->AddString( pTask->GetPath());
((CListBox*)GetDlgItem( IDC_LIST1))->SetItemData( idx, pTask->GetID());
}

ich weiß was es macht kanns aber nich in worte fassen ! (formell)
 
Code:
 #if !defined(AFX_KILLDLG_H__63DF60B9_91DC_4341_92E9_0642D565D429__INCLUDED_)
     #define AFX_KILLDLG_H__63DF60B9_91DC_4341_92E9_0642D565D429__INCLUDED_
Das ist ein sogenannter Include-Guard. Er verhindert, daß die Headerdatei mehrfach im gleichen Modul eingebunden wird. Am Ende der Datei müßte noch ein
Code:
#endif // AFX_KILLDLG_H__63DF60B9_91DC_4341_92E9_0642D565D429__INCLUDED_
stehen.
Ich weiß zwar nicht was 'WinProcess' ist, aber so, wie es verwendet wird, scheint es eine Liste von CTasks zu sein. Diese Liste wird durchgegangen und jedes Element mit Name als Text und ID als lParam in eine Listbox eingetragen.
 
Aua!

Diese ((CListBox*)GetDlgItem( IDC_LIST1))->ResetContent(); sind böses Karma!

GetDlgItem gibt ein CWnd zurück. Und da wird brutal auf eine CListBox-Klasse gecastet, obwohl das in den meisten Fällen keine CListBox-Klasse ist! Das geht nur deswegen gut, weil die Funktionen intern SendMessage aufrufen.
Das sollte dir nur klar sein, dass das bei etwas Aufwendigerem, das auf CListBox-Member zurückgreifen würde, voll in die Hose geht.
 
Zurück