Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Wie kann man ein Listenelement in Projekt aufnehmen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
23.07.2005, 22:00 Uhr
xXx
Devil



C++:
m_list.InsertColumn(0, "Spalte 1"); // Insert the first row(0) with name "Spalte 1"
m_list.InsertColumn(1, "Spalte 2"); // Insert the second row(1) with name "Spalte 2"
m_list.InsertItem(0, "Zeile1 in der spalte 1"); // Insert the first line in the first row(0)
m_list.SetItemText(0, 2, "Zeile1 in der spalte 2"); // Insert the first line in the second row (1)

CImageList m_img; // A image list... for more informations: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfMFCClassListing.asp
m_img.Create( IDB_YOURICONS, 32, 1, (COLORREF)-1 ); // Create the CImageList from bitmap resource IDB_YOURICONS with size 32 x 32
m_list.SetImageList( &m_imgIcon, LVSIL_NORMAL );   //Set the CImageList to the list ctrl.  



Was fehlt dir denn noch an erklärung??? Das ist alles was man dazu sagen kann!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
24.07.2005, 00:02 Uhr
UserAH



Danke für dein Tip.
Aber hasst du probiert, ob es funzt? Ich glaube nicht ganz... oder?

Ich habe fast geschaft.. und schreibe ich etwas später Programmier-Code.
--
Gruß

Dieser Post wurde am 24.07.2005 um 00:03 Uhr von UserAH editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
24.07.2005, 00:43 Uhr
UserAH



Im ...::OnInitDialog einfügen... funzt!


C++:
/***  Es funktioniert für ALLE Formate des Listenelements !!!  ***/

    //     Feste Größe für SpaltenNamen definieren (für Formate, Ansicht = "Bericht")
//    für andere Ansichten - egal, dann SpaltenNamen einfügen
CRect rect;
m_cListCtrl.GetClientRect(&rect);
int nColInterval = rect.Width()/5;

m_cListCtrl.InsertColumn(0, _T("Item Name"), LVCFMT_LEFT, nColInterval);
m_cListCtrl.InsertColumn(1, _T("Value"), LVCFMT_LEFT, nColInterval);
m_cListCtrl.InsertColumn(2, _T("Time"), LVCFMT_LEFT, rect.Width()-2*nColInterval);


// Erstellen 256 color Image Listen, Große 32x32, Kleine 16x16
HIMAGELIST hList = ImageList_Create(32,32, ILC_COLOR8 |ILC_MASK , 8, 1);
m_cImageListNormal.Attach(hList);

hList = ImageList_Create(16, 16, ILC_COLOR8 | ILC_MASK, 8, 1);
m_cImageListSmall.Attach(hList);


// Laden große Image
CBitmap cBmp;
cBmp.LoadBitmap(IDB_IMAGES_NORMAL);
m_cImageListNormal.Add(&cBmp, RGB(255,0, 255));
cBmp.DeleteObject();

// Laden kleine Image
cBmp.LoadBitmap(IDB_IMAGES_SMALL);
m_cImageListSmall.Add(&cBmp, RGB(255,0, 255));

// Laden im Listenelement
m_cListCtrl.SetImageList(&m_cImageListNormal, LVSIL_NORMAL);
m_cListCtrl.SetImageList(&m_cImageListSmall, LVSIL_SMALL);


// Benutzen LV_ITEM structure für Elemente
LVITEM lvi;
CString strItem;
int m_nItems = 2; // zwei Zeile

for (int i = 0; i < m_nItems; i++)
{
// Daten für 1-te Spalte mit Image
    lvi.mask =  LVIF_IMAGE | LVIF_TEXT;
    strItem.Format(_T("Item %i"), i);
    lvi.iItem = i;
    lvi.iSubItem = 0;
    lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
    lvi.iImage = i%1;        // ich habe nur eine Image im Imagelist
                            // benutzt = 32x32 oder 16x16, sonst 2,3...
    m_cListCtrl.InsertItem(&lvi);
// Daten für 2-te Spalte
    strItem.Format(_T("%d"), 10*i);
    lvi.iSubItem =1;
    lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
    m_cListCtrl.SetItem(&lvi);
// Daten für 3-te Spalte
    strItem.Format(_T("%s"),
                   COleDateTime::GetCurrentTime().Format(_T("Created: %I:%M:%S %p, %m/%d/%Y")));
    lvi.iSubItem =2;
    lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
    m_cListCtrl.SetItem(&lvi);
}




--
Gruß

Dieser Post wurde am 24.07.2005 um 00:44 Uhr von UserAH editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
24.07.2005, 13:49 Uhr
xXx
Devil


ok, das ist eine möglichkeit, das ganze zu machen--- mit dem was ich gepostet hab, müsste es auch gehen, wenn du das in die OnInitDialog schreibst
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
24.07.2005, 14:06 Uhr
UserAH



Hasst du selbst probiert, ob dein Kod funzt?
Ich habe keine richtige Ergebnisse gekriegt:
- Image nicht geladen,
- alle SpalltenNamen zusammen gesetzt...
--
Gruß

Dieser Post wurde am 24.07.2005 um 14:07 Uhr von UserAH editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
24.07.2005, 14:46 Uhr
xXx
Devil


also, wenn du anstelle von "IDB_YOURICONS" "IDB_IMAGES_NORMAL" packst, solte das funktionieren
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
24.07.2005, 14:58 Uhr
UserAH




Zitat von xXx:

C++:
m_list.InsertColumn(0, "Spalte 1"); // Insert the first row(0) with name "Spalte 1"
m_list.InsertColumn(1, "Spalte 2"); // Insert the second row(1) with name "Spalte 2"
m_list.InsertItem(0, "Zeile1 in der spalte 1"); // Insert the first line in the first row(0)
m_list.SetItemText(0, 2, "Zeile1 in der spalte 2"); // Insert the first line in the second row (1)

CImageList m_img; // A image list... for more informations: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfMFCClassListing.asp
m_img.Create( IDB_YOURICONS, 32, 1, (COLORREF)-1 ); // Create the CImageList from bitmap resource IDB_YOURICONS with size 32 x 32
m_list.SetImageList( &m_imgIcon, LVSIL_NORMAL );   //Set the CImageList to the list ctrl.  



Was fehlt dir denn noch an erklärung??? Das ist alles was man dazu sagen kann!



Leider ich sehe keine Init für IDB_IMAGES_NORMAL bin ich nicht blind oder?

Ich möche nicht mehr diskutieren - erst probierst du es selbst...
--
Gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
24.07.2005, 15:10 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ersetze IDB_YOURICONS durch IDB_IMAGES_NORMAL und dann soltle das von xXx gehen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
24.07.2005, 15:16 Uhr
UserAH



Ich habe viel Zeit gebraucht, aber es funktioniert nicht als ich gewünscht habe.
Image wurde nicht geladen und alle SpalltenNamen/Grössen zusammen...

z.Z. benutze ich Programmier-Code, welche habe ich oben geschrieben - funzt wunderbar!

--
Gruß

Dieser Post wurde am 24.07.2005 um 15:45 Uhr von UserAH editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
25.07.2005, 19:34 Uhr
UserAH



Jetzt habe ich es...

Danke xXx!
ich habe deine Programmier-Code etwa korrigiert, jetzt läft es gut!


C++:
    // Spaltennamen erzeugen
    CRect rect;
    m_cListCtrl.GetClientRect(&rect);
    int nColInterval = rect.Width()/5;    // gesamte Spaltenbreite wird auf 5 geteilt
    m_cListCtrl.InsertColumn(0, _T("Spalte1"), LVCFMT_LEFT, nColInterval);    // 3 Teile von gesamte Spaltenbreite
    m_cListCtrl.InsertColumn(1, _T("Spalte2"), LVCFMT_LEFT, nColInterval);        // 1 Teil von gesamte Spaltenbreite
    m_cListCtrl.InsertColumn(2, _T("Spalte3"), LVCFMT_LEFT, rect.Width()-2*nColInterval); // Rest = gesamte Spaltenbreite minus 4(3 + 1) Teilen


    // m_cImageListSmall = "CImageList"-Variable, IDB_SMALL - 16x32 Bitmap (2xImage)
    m_cImageListSmall.Create( IDB_SMALL, 16, 1, (COLORREF)-1 );
    m_cListCtrl.SetImageList( &m_cImageListSmall, LVSIL_SMALL );

    // füllen 5 Zeilen
    CString cSpName;
    for (int i = 0; i<5; i++)
    {
    cSpName.Format(_T("Spalte %i"), i+1);
    m_cListCtrl.InsertItem(i, cSpName, 0);
    m_cListCtrl.SetItemText(i, 1, "Spalte 2");
    m_cListCtrl.SetItemText(i, 2, "Spalte 3");
    }

    // z.B. ändern Zeile 4
    m_cListCtrl.DeleteItem(3);    // 3 weil... man zählt ab 0
    m_cListCtrl.InsertItem(3, "Spalte 4", 1);
    m_cListCtrl.SetItemText(3, 1, "Spalte 2");
    m_cListCtrl.SetItemText(3, 2, "Spalte 3");



--
Gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: