Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Schriftfarbe in CListBox ändern

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 < [ 3 ]
010
24.03.2004, 16:45 Uhr
Philipp



Och flosoft, du weißt doch sonst immer alles

Du benutzt doch auch RichEdits...

Philipp
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
24.03.2004, 16:48 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


dabei wäre meine variante ganz einfach gewesen aber du wolltest ja nicht...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
24.03.2004, 20:00 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


obs mit gif geht weiss ich nicht wenn nicht musst du erst noch bmp's draus machen....
ein wenig einfacher gehts wenn du die bilder fix in ressourcen speicherst allerdings kannst du dann natürlich nur schwerlich die bilder wechseln....

das hier sollte funzen (bei mir gehts jedenfalls)


C++:
    CString szFilename="test.bmp";
    CBitmap pic;
    BITMAP bild_header;
    
    HBITMAP hBmp = (HBITMAP)::LoadImage(NULL,szFilename, IMAGE_BITMAP, 0, 0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
    pic.Attach(hBmp);

    pic.GetBitmap(&bild_header);

    CWnd* wp = GetDlgItem(IDC_BUTTON1);
    CDC *pDC = wp->GetDC();
    CDC imageDC;
            
    imageDC.CreateCompatibleDC(pDC);
    imageDC.SelectObject(&pic);

    pDC->BitBlt(0,0, bild_header.bmWidth, bild_header.bmHeight, &imageDC, 0,0, SRCCOPY);
        
    imageDC.DeleteDC();
    wp->ReleaseDC(pDC);



ach so bitte keine doppelposts in diesem forum es werden soweit möglich alle anfragen bearbeitet und ggf. ins richtige forum geschoben...
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 24.03.2004 um 20:00 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
24.03.2004, 22:06 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


oh der thread ist in vergessenheit geraten mom ich schau mir das mal an


Bearbeitung:

ok probier mal wenn du das charformat so machst:


C++:
CHARFORMAT cf;
cf.dwMask = CFM_COLOR;
cf.dwEffects = 0;
cf.cbSize = sizeof(m_cfDefault);





--
class God : public ChuckNorris { };

Dieser Post wurde am 24.03.2004 um 22:13 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
25.03.2004, 17:30 Uhr
Philipp



Naja... es klappt ein bisschen, hab wie du meintest dwEffects mal auf 0 gesetzt.

Wenn die erste Message kommt, zeichnet er sie farbig, bei der zweiten auch noch. Aber die 3. Message wird wieder schwarz gezeichnet. Keine Ahnung warum.

Die Farbe ist aber bei der 3. Message immer noch auf rot, die Selection ist immer noch richtig auf die 3. Message ausgerichtet, und SetSelectionCharFormat() gibt auch wieder 1 (-> Erfolg) zurück, sollte also eigentlich klappen.

Warum klappt das jetzt am Anfang, und springt ab der 3. Message dann wieder um??

@Windalf: Naja wer weißt, vielleicht komme ich ja nochmal auf deine Methode zurück

Philipp
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
25.03.2004, 18:24 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


schick mir mal das projekt ohne debug und release ordner an hilfe -at- flo-soft.de

dann schau ich mir die fehlerausgabe an
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
25.03.2004, 20:51 Uhr
Philipp



so hab ich gemacht... hab dir auch nen beschreibungstext dabeigeschrieben, das wichtigste ist wohl dass es halt eine server-client anwendung ist, die du natürlich vorher miteinander verbinden musst, aber das ist relativ einfach

Philipp
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
25.03.2004, 21:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ich schaus mir an (morgen). Vorher komm ich nicht mehr dazu
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
06.04.2004, 22:46 Uhr
Philipp



Ok danke dass du dir es angeschaut hast, hatte allerdings in der Zwischenzeit was Klausurstress weswegen ich nicht weitermachen konnte...

Mittlerweile hab ich mir deinen Vorschlag mal angeschaut, und ich muss sagen dass es eigentlich alles klappt. D.h. sowohl die aktuell hinzugefügte Zeile als auch alle anderen Zeilen der RichEditCtrl. werden in den korrekten Farben gezeichnet. Hab halt wie du gesagt hast für jede Zeile in der RichEditCtrl einfach in nem array den Farbwert gespeichert. Bei jedem Aufruf von AddMessage in meinen Programm werden also ALLE Zeilen der Richeditctrl über das FarbArray mit der entsprechenden Farbe gefärbt, was halt auch generell funktioniert, aber :

Teilweise springt die Anzeige quasi um, dann verschwinden die Farben aufeinmal!
Das passiert z.B., wenn ich ein neues Fenster für eine PrivateMessage öffnen lasse, wobei dieses Fenster eigentlich ein ganz normales nicht-modales Windows-Fenster ist. Wenn ich das öffne, dann ist wie gesagt der ganze Inhalt der RichEditCtrl wieder schwarz! Manchmal bleibt der Inhalt allerdings auch farbig, und wird erst schwarz wenn ich eine PrivateMessage absende, also auf den send-Button meines PrivateMessage-Fensters klicke... sehr seltsam. Das bleibt solange so, bis ich eine neue Message in diese RichEditCtrl per AddMessage wieder hinzufüge, bis also die ganzen Zeilen der RichEditCtrl wieder neu eingefärbt werden.

Ich weiß jetzt net womit das zusammenhängt, vielleicht mit der Zeichenfunktion der RichEditCtrl(wo finde ich die eigentlich??), oder mit dem Aufruf meines Fensters? Habt ihr/ hast du da eine Idee Flosoft?

SourceCode kann ich natürlich bei Bedarf zur Verfügung stellen...

P.S. Hab mittlerweile ne Klasse von CRichEditCtrl abgeleitet, und die mit der Funktion AddMessage und dem Array zur speicherung der Farbdaten ausgestattet... Kann also ohne Probleme Funktionen überschreiben etc. wenn das von Nöten sein sollte...

Philipp
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
07.04.2004, 16:23 Uhr
Philipp



Und noch ne Frage : Kann ich den Text so formatieren, dass er bei Überlänge abgebrochen und in der nächsten Zeile fortgesetzt wird? Hab dazu im Internet nix gefunden...

Wenn ich also z.B. ne RichEditCtrl habe, in die nur 50 Zeichen hintereinander passen, und eine Nachricht mit 70 Zeichen kommt, dass er automatisch nach dem 50. Zeichen abbricht und die restlichen 20 Zeichen in die nächste Zeile schreibt?

Wenn möglich dann auch noch immer Bündig mit dem Anfang der ersten ChatMessage, also so in der Form:


Zitat:

18:22:54, ChatUser: Halllo ihr leute, was
macht ihr denn heu
te so?



THX
Philipp

Dieser Post wurde am 07.04.2004 um 16:23 Uhr von Philipp editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ 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: