000
17.10.2003, 19:04 Uhr
Philipp
|
Hi Leute,
hab mal wieder ein Problem...
Also, ich habe ja nen ChatServer und ChatClient geschrieben. Die ChatMessages werden immer in eine Listbox ausgegeben. Dabei gebe ich die halt in der Form "Zeit, Username: Message" aus! Was ich nun erreichen möche wäre, dass der "Messageteil" der ChatMessage immer den gleichen Abstand vom linken Rand der Listbox hat.
Das klappt aber absolut net richtig Generell ist es halt so, dass die Position, bei der die eigentliche Message anfängt, nur von der Länge des Usernames abhängt, da die Zeit immer völlig gleich formatiert (xx:xx:xx) wird! ICh hab jetzt also versucht, den Username auf die immer gleiche Länge zu beschränken:
Versuch 1 : Die freien Zeichen des Usernames bis 12Chars mit tabs auffüllen. Klappt relativ gut, nur gibt es ein Problem. Anscheinend sind die tabs in so ner ListBox und in den normalen ofstream-logfiles unterschiedlich groß! Wenn das also in der ListBox klappt, dann klappt es in den ofstream logfiles eben nicht ganz! Gibt es da ne möglichkeit die tablänge zu verändern?
Versuch 2 : Mittels der Format Methode der CString Objekte die Strings formatieren, hat allerdings den NAchteil das die FormatMethode mit einzelnen Chars, und nicht mit Pixeln rechnet. D.h. für sie ist der Username "..." genauso lang wie "MMM", wobei das in Pixeln ja überhaupt net so ist, was sich dann nachher in der ListBox bemerkbar macht!
Hab auch mal im Internet geschaut, aber die sind da ja auch alle voll feige ICQ beginnt nach jedem Datum+Username ne neue Zeile(oberfeige), und die meisten anderen Chats zeichnen den Username einfach farbig, und fangen dann fast direkt da hinter mit der eigentlichen Message an, aber das ist mir wieder zu unordentlich...
Kann mir irgendjemand helfen???
THX PHILIPP Dieser Post wurde am 17.10.2003 um 19:05 Uhr von Philipp editiert. |