www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheDirectX-Forum

DerHulk

Gepostet:
06.06.2006 18:55

DirectX Gui  
So da ich nicht alles in Off Topic erzählen wollte hier mal einen schönen Link
zu einem Tutorial wo erklärt wird wie man seine eigene Gui in DirectX bastelt.

Dort kann man auch fertige Klassen downloaden, wohl leider alle fürs 2.0 Framework!

http://www.c-unit.com/

Kann einem als Orientrierung dienen oder man nimmt das was da ist!

Smilie

Zu dumm das ich noch auf 1.1 entwickel und jetzt alles selber muss!

mfg derHulk

ps

wie bekommt man heraus wie lange(also in Pixel) eine Text ist?!
Zum Seitenanfang    
 
Jammni

Gepostet:
07.06.2006 16:55

   
Zum Messen der Breite eines Strings gibt es die Font.MeasureString(...)-Methode. Die liefert dir zwar ein Rechteck zurück, aber daraus kannst du dann ja sehr leicht die Breite berechnen.

MfG,
Jammni
Zum Seitenanfang Homepage   ICQ    
 
DerHulk

Gepostet:
07.06.2006 18:41

   
Hi,Jammni

habe die Funktion gestern auch noch in der DirectX Docu.(Direct3d.Font) gefunden jedoch konnte ich die Funktion nicht aufrufen?
Hast du schon mal damit gearbeitet,evtl nur in 2.0 verfügbar?
Find auch nicht die Font.MeasureString für System.Drawing.Font?!

mfg derHulk!

Smilie
Zum Seitenanfang    
 
Jammni

Gepostet:
07.06.2006 19:29

   
Hi,

tja, ich kann mir schon vorstellen, woran das liegt. Wichtig ist erstmal, dass du nicht System.Drawing.Font benutzt, sondern dir ein neues Font-Objekt vom Typ Microsoft.DirectX.Direct3D.Font erstellst. Als zweites musst du noch einmal nachschauen, welche Assemblies du eingebunden hast. Wenn du Microsoft.DirectX.Direct3D eingebunden hast, musst du beachten, dass die Version größer-gleich Version 1.0.2903.0 ist (ggf. also austauschen / nachrüsten über "Add Reference"). Diese Funktion wurde erst nachträglich bei Managed DirectX mitgeliefert, so dass sie "ursprünglich" wirklich nicht bekannt war.

Alles in Allem könntest du dann so etwas hier benutzen (mit vollem Namen):

// frm ist ein WinForm
// device ein Direct3D-Device
// und sp ein Sprite
Microsoft.DirectX.Direct3D.Font f = new Microsoft.DirectX.Direct3D.Font(device, frm.Font);
System.Drawing.Rectangle r = f.MeasureString(sp, "Hallo Welt!", DrawTextFormat.Left, Color.Lime);


Ich hoffe, das hilft dir nen bissel weiter,
Jammni
Zum Seitenanfang Homepage   ICQ    
 
DerHulk

Gepostet:
07.06.2006 20:58

   
Thx,...
hattes recht war ne alte Assembly!Neue druff und schon wars da!

mfg DerHulkSmilie
Zum Seitenanfang