Redraw?
-
hallo
ich kann mit folgendem Code in meinem Dialog eine weisse textbox (bei den koordinaten pos_x und pos_y) mit schwarzer schrift erzeugen
CClientDC dc(this);
CFont* def_font = dc.SelectObject(&font);
dc.TextOut(pos_x, pos_y, m_strSampText, length);
dc.SelectObject(def_font);wenn ich aber die koordinaten (pos_x, pos_y) ändere, bleibt der alte text bestehen. ich habs schon mit CDialog::RedrawWindow() versucht, aber das funktioniert nicht. Weiss jemand wie ich den alten Text wegbekommen kann?
Gibt es auch eine möglichkeit den weissen Hintergrund der "box" zu ändern, bzw transparent zu machen?mfg
Nachtrag:
OK das problem mit dem Redraw habe ich gelöst. Ich hab zuerst ein paar Parameter in die () geschrieben. Ohne Parameter funktioniert das.
Die Frage mit dem Weissen fensterhintergrund besteht aber immer noch
-
ein weissens textfeld?? ich seche im code kein textfeld.
aber fileicht hilft dir das:SetBkColor(TRANSPARENT);// hitrgrund TRANSPARENT SetTextColor(RGB(0,255,0)); //text farbe ändern SetTextBkColor(RGB(0,255,0));// texthitrgrund farbe ändernTRANSPARENT get überall.
MFG TaccoGo
-
ja ein weisses Textfeld.
Das wird durchdc.Textout
erzeugt
Es erscheint dann im dialog bei den angegebenen Koordinaten.
das TRANSPARENT hilft mir leider in diesem fall nicht weiter
-
das ist kein textfeld sonden der hintergrund des textes.
kannst du doch auf die farbe änder die du als hitrgunt mochtest.
MFG TaccoGo
-
oh...ok danke ,-)
bin noch ned solange dabei ,-)
aber warum wird dann mit
dc.SetBkColor(TRANSPARENT);
der Hintergrund schwarz?mfg
-
der niemt die hintrgrundfarbe des fenstes beim dialogfeld ist es möglich das der die farbe nicht niemt.
get es den mit RGB()??MFG TaccoGo
-
ja mit dc.SetBkColor(RGB(255,0,0) wird der Hintergrund Rot.
Allerdings glaub ich ned dass man mit rgb "Transparent" darstellen kann.
Die hintergrundfarbe des dialogs ist nicht schwarz, sondern das Grau, welches bei einem neuen dialog standard ist ,-)mfg
-
ja bei API fenster get das mit Transparnt.
min doch die rgb farbe von dein grau.MFG TaccoGo
-
ja werd ich wohl machen müssen.
danke
eine frage hab ich noch, aber dazu sollte ich dir vielleicht mal ein paar infos mehr geben:ich habe ein programm, bei dem in einem listenfeld sämtliche windows schriftarten aufgelistet sind. dann kann ich per klick auf eine schriftart die schrift anzeigen lassen (eben mit diesem text-out). Man kann auch schriftgröße und art (kursiv, fett, unterstrichen) festlegen.
jetz möchte ich, dass diese schrift nicht in diesem textdings ausgegeben wird, sondern in einem wmf display, bzw ich das teil als wmf speichern kann (die funktion zum speichern von dateien kenn ich, nur das wmf macht mir schwierigkeiten)
mfg
-
war kurtz nicht da.
was ist den wmf??
MFG TaccoGo
-
irgend so ein bild zeugs.
ich glaub es heisst sowas wie "Windows Media File" oder "Windows Media Format"
auf jeden fall eine art bild
-
dazu must du das bild öffne bzw erstellen und auf den dc des bildes schreiben.
MFG TaccoGo
-
TaccoGo schrieb:
dazu must du das bild öffne bzw erstellen und auf den dc des bildes schreiben.
tja und schon haben wir das nächste problem... ,-)
-
OK dan sage mir mal wo und als was du die bilder hast??
MFG TaccoGo
-
ich habe noch gar keine bilder.
ich habe nur einen dialog mit ein paar checkboxen, listboxen und buttons. Was dieser dialog macht hab ich ein paar posts weiter oben beschrieben.
Allerdings erzeugt das
dc.textout
eine textausgabe im Dialog selber.
Was ich machen will ist, dass dieser text (schriftart, farbe und größe variieren) nicht im dialog, sondern als wmf dargestellt wird.
-
naja ich habe mit diesen wmf nochnie was zutungehabt.
aber wen das ein bild ist an muss man irgentwie ein dc drauf bekomen und in den kanst du dan schreiben.MFG TaccoGo
-
ja ich werds mal versuchen.
vielen dank für deine hilfe