Entwickler-Ecke
Basistechnologien - Graphics in DLL nutzen
Tonixic - So 27.12.09 00:08
Titel: Graphics in DLL nutzen
Hallo Leute,
eigentlich ist meine DLL noch nicht mal richtig angefangen aber schon hab ich eine unüberwindbare Aufgabe.
Ich möchte in einer DLL eine Funktion haben, die anhand einer bestimmten Schriftart, Größe, Flags, und der Größe eines Textfeldes, zurück gibt wo ein Zeilenumbruch gemacht werden muss.
Das Problem ist, das ich in einer Bibliothek kein Textfeld erstellen kann. Ich bekomme ein Handle Fehler (dieser kann nicht erstellt werden). Aber diese brauch ich weil ich ansonsten meine "my_Graphics" nicht initialisieren kann.
meine Funktion sieht so aus: Diese Wird aber noch massiv umgebaut, wenn es so überhaupt funktionieren kann.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47:
| public float breite(string Text, string Font_Family, float Font_Size, bool Font_Italic, bool Font_underline, bool Font_Bold) { Graphics my_Graphics;
TextBox my_TextBox = new TextBox(); my_Graphics = my_TextBox.CreateGraphics();
FontStyle my_FontStyle; Font my_Font;
if (Font_Italic) { my_FontStyle = FontStyle.Italic; if(Font_underline) { my_FontStyle = my_FontStyle | FontStyle.Underline; if(Font_Bold) { my_FontStyle = my_FontStyle | FontStyle.Bold;
} } } else if(Font_underline) { my_FontStyle = FontStyle.Underline; if(Font_Bold) { my_FontStyle = my_FontStyle | FontStyle.Bold; } } else if (Font_Bold) { my_FontStyle = FontStyle.Bold; } else { my_FontStyle = FontStyle.Regular; }
my_Font = new Font(Font_Family, Font_Size, my_FontStyle);
return my_Graphics.MeasureString(Text, my_Font).Width; } |
Moderiert von
Christian S.: Zweite Frage entfernt
Vielleicht hab ich ja Glück und jemand antwortet mir, ich bleib auf jeden Fall dran. Biss dann.
Christian S. - So 27.12.09 00:17
Hallo und :welcome:!
Wie lautet denn die genaue Fehlermeldung, die Du bekommst?
Ich habe Deine zweite Frage außerdem entfernt, da bei uns die Regel gilt, dass pro Thread bitte nur eine Frage gestellt wird. Das gibt sonst ein großes Durcheinander, außerdem kannst Du bei der Trennung in mehrere Thread jedem der Threads auch einen korrekten Titel geben.
Grüße
Christian
Kha - So 27.12.09 01:03
Ebenfalls :welcome:
Tonixic hat folgendes geschrieben : |
Ich möchte in einer DLL eine Funktion haben, die anhand einer bestimmten Schriftart, Größe, Flags, und der Größe eines Textfeldes, zurück gibt wo ein Zeilenumbruch gemacht werden muss. |
Schau dir mal
TextRenderer.MeasureText an, das erwartet kein eigenes Handle :) .
Tonixic - So 27.12.09 02:02
ich werde es gleich testen, mit TextRenderer.MeasureText. Danke, ich geb dir noch Feedback.
//Ich werde also jetzt immer nur eine Frage pro thread schreiben.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!